| 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 882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 893 // uses: '{}' | 893 // uses: '{}' |
| 894 return RegisterList(); | 894 return RegisterList(); |
| 895 } | 895 } |
| 896 | 896 |
| 897 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: | 897 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 898 // | 898 // |
| 899 // {None: 32, | 899 // {None: 32, |
| 900 // Pc: 15, | 900 // Pc: 15, |
| 901 // Rn: Rn(19:16), | 901 // Rn: Rn(19:16), |
| 902 // W: W(21), | 902 // W: W(21), |
| 903 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 903 // base: Rn, | 904 // base: Rn, |
| 904 // baseline: StoreRegisterList, | 905 // baseline: StoreRegisterList, |
| 905 // cond: cond(31:28), | 906 // cond: cond(31:28), |
| 906 // constraints: , | 907 // constraints: , |
| 907 // defs: {Rn | 908 // defs: {Rn |
| 908 // if wback | 909 // if wback |
| 909 // else None}, | 910 // else None}, |
| 910 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 911 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 911 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, | 912 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 912 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, | 913 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, |
| 913 // register_list: register_list(15:0), | 914 // register_list: register_list(15:0), |
| 914 // registers: RegisterList(register_list), | 915 // registers: RegisterList(register_list), |
| 915 // rule: STMDA_STMED, | 916 // rule: STMDA_STMED, |
| 916 // safety: [Rn == | 917 // safety: [Rn == |
| 917 // Pc || | 918 // Pc || |
| 918 // NumGPRs(registers) < | 919 // NumGPRs(registers) < |
| 919 // 1 => UNPREDICTABLE, | 920 // 1 => UNPREDICTABLE, |
| 920 // wback && | 921 // wback && |
| 921 // Contains(registers, Rn) && | 922 // Contains(registers, Rn) && |
| 922 // Rn != | 923 // Rn != |
| 923 // SmallestGPR(registers) => UNKNOWN], | 924 // SmallestGPR(registers) => UNKNOWN], |
| 924 // small_imm_base_wb: true, | 925 // small_imm_base_wb: wback, |
| 925 // true: true, | |
| 926 // uses: Union({Rn}, registers), | 926 // uses: Union({Rn}, registers), |
| 927 // wback: W(21)=1} | 927 // wback: W(21)=1} |
| 928 Register STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 928 Register STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 929 base_address_register(Instruction inst) const { | 929 base_address_register(Instruction inst) const { |
| 930 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 930 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 931 // base: 'inst(19:16)' | 931 // base: 'inst(19:16)' |
| 932 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 932 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 933 } | 933 } |
| 934 | 934 |
| 935 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 935 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 968 return UNKNOWN; | 968 return UNKNOWN; |
| 969 | 969 |
| 970 return MAY_BE_SAFE; | 970 return MAY_BE_SAFE; |
| 971 } | 971 } |
| 972 | 972 |
| 973 | 973 |
| 974 bool STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 974 bool STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 975 base_address_register_writeback_small_immediate( | 975 base_address_register_writeback_small_immediate( |
| 976 Instruction inst) const { | 976 Instruction inst) const { |
| 977 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 977 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 978 // small_imm_base_wb: 'true' | 978 // small_imm_base_wb: 'inst(21)=1' |
| 979 return true; | 979 return (inst.Bits() & 0x00200000) == |
| 980 0x00200000; |
| 980 } | 981 } |
| 981 | 982 |
| 982 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 983 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 983 uses(Instruction inst) const { | 984 uses(Instruction inst) const { |
| 984 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 985 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 985 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 986 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 986 return nacl_arm_dec::Union(RegisterList(). | 987 return nacl_arm_dec::Union(RegisterList(). |
| 987 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 988 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 988 } | 989 } |
| 989 | 990 |
| 990 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: | 991 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 991 // | 992 // |
| 992 // {None: 32, | 993 // {None: 32, |
| 993 // Pc: 15, | 994 // Pc: 15, |
| 994 // Rn: Rn(19:16), | 995 // Rn: Rn(19:16), |
| 995 // W: W(21), | 996 // W: W(21), |
| 997 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 996 // base: Rn, | 998 // base: Rn, |
| 997 // baseline: StoreRegisterList, | 999 // baseline: StoreRegisterList, |
| 998 // cond: cond(31:28), | 1000 // cond: cond(31:28), |
| 999 // constraints: , | 1001 // constraints: , |
| 1000 // defs: {Rn | 1002 // defs: {Rn |
| 1001 // if wback | 1003 // if wback |
| 1002 // else None}, | 1004 // else None}, |
| 1003 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 1005 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 1004 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, | 1006 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 1005 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, | 1007 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, |
| 1006 // register_list: register_list(15:0), | 1008 // register_list: register_list(15:0), |
| 1007 // registers: RegisterList(register_list), | 1009 // registers: RegisterList(register_list), |
| 1008 // rule: STMDB_STMFD, | 1010 // rule: STMDB_STMFD, |
| 1009 // safety: [Rn == | 1011 // safety: [Rn == |
| 1010 // Pc || | 1012 // Pc || |
| 1011 // NumGPRs(registers) < | 1013 // NumGPRs(registers) < |
| 1012 // 1 => UNPREDICTABLE, | 1014 // 1 => UNPREDICTABLE, |
| 1013 // wback && | 1015 // wback && |
| 1014 // Contains(registers, Rn) && | 1016 // Contains(registers, Rn) && |
| 1015 // Rn != | 1017 // Rn != |
| 1016 // SmallestGPR(registers) => UNKNOWN], | 1018 // SmallestGPR(registers) => UNKNOWN], |
| 1017 // small_imm_base_wb: true, | 1019 // small_imm_base_wb: wback, |
| 1018 // true: true, | |
| 1019 // uses: Union({Rn}, registers), | 1020 // uses: Union({Rn}, registers), |
| 1020 // wback: W(21)=1} | 1021 // wback: W(21)=1} |
| 1021 Register STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1022 Register STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1022 base_address_register(Instruction inst) const { | 1023 base_address_register(Instruction inst) const { |
| 1023 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1024 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1024 // base: 'inst(19:16)' | 1025 // base: 'inst(19:16)' |
| 1025 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 1026 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 1026 } | 1027 } |
| 1027 | 1028 |
| 1028 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1029 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1061 return UNKNOWN; | 1062 return UNKNOWN; |
| 1062 | 1063 |
| 1063 return MAY_BE_SAFE; | 1064 return MAY_BE_SAFE; |
| 1064 } | 1065 } |
| 1065 | 1066 |
| 1066 | 1067 |
| 1067 bool STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1068 bool STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1068 base_address_register_writeback_small_immediate( | 1069 base_address_register_writeback_small_immediate( |
| 1069 Instruction inst) const { | 1070 Instruction inst) const { |
| 1070 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1071 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1071 // small_imm_base_wb: 'true' | 1072 // small_imm_base_wb: 'inst(21)=1' |
| 1072 return true; | 1073 return (inst.Bits() & 0x00200000) == |
| 1074 0x00200000; |
| 1073 } | 1075 } |
| 1074 | 1076 |
| 1075 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1077 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1076 uses(Instruction inst) const { | 1078 uses(Instruction inst) const { |
| 1077 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1079 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1078 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 1080 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 1079 return nacl_arm_dec::Union(RegisterList(). | 1081 return nacl_arm_dec::Union(RegisterList(). |
| 1080 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 1082 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 1081 } | 1083 } |
| 1082 | 1084 |
| 1083 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: | 1085 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 1084 // | 1086 // |
| 1085 // {None: 32, | 1087 // {None: 32, |
| 1086 // Pc: 15, | 1088 // Pc: 15, |
| 1087 // Rn: Rn(19:16), | 1089 // Rn: Rn(19:16), |
| 1088 // W: W(21), | 1090 // W: W(21), |
| 1091 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 1089 // base: Rn, | 1092 // base: Rn, |
| 1090 // baseline: StoreRegisterList, | 1093 // baseline: StoreRegisterList, |
| 1091 // cond: cond(31:28), | 1094 // cond: cond(31:28), |
| 1092 // constraints: , | 1095 // constraints: , |
| 1093 // defs: {Rn | 1096 // defs: {Rn |
| 1094 // if wback | 1097 // if wback |
| 1095 // else None}, | 1098 // else None}, |
| 1096 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 1099 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 1097 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, | 1100 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 1098 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, | 1101 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, |
| 1099 // register_list: register_list(15:0), | 1102 // register_list: register_list(15:0), |
| 1100 // registers: RegisterList(register_list), | 1103 // registers: RegisterList(register_list), |
| 1101 // rule: STMIB_STMFA, | 1104 // rule: STMIB_STMFA, |
| 1102 // safety: [Rn == | 1105 // safety: [Rn == |
| 1103 // Pc || | 1106 // Pc || |
| 1104 // NumGPRs(registers) < | 1107 // NumGPRs(registers) < |
| 1105 // 1 => UNPREDICTABLE, | 1108 // 1 => UNPREDICTABLE, |
| 1106 // wback && | 1109 // wback && |
| 1107 // Contains(registers, Rn) && | 1110 // Contains(registers, Rn) && |
| 1108 // Rn != | 1111 // Rn != |
| 1109 // SmallestGPR(registers) => UNKNOWN], | 1112 // SmallestGPR(registers) => UNKNOWN], |
| 1110 // small_imm_base_wb: true, | 1113 // small_imm_base_wb: wback, |
| 1111 // true: true, | |
| 1112 // uses: Union({Rn}, registers), | 1114 // uses: Union({Rn}, registers), |
| 1113 // wback: W(21)=1} | 1115 // wback: W(21)=1} |
| 1114 Register STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1116 Register STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1115 base_address_register(Instruction inst) const { | 1117 base_address_register(Instruction inst) const { |
| 1116 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1118 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1117 // base: 'inst(19:16)' | 1119 // base: 'inst(19:16)' |
| 1118 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 1120 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 1119 } | 1121 } |
| 1120 | 1122 |
| 1121 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1123 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1154 return UNKNOWN; | 1156 return UNKNOWN; |
| 1155 | 1157 |
| 1156 return MAY_BE_SAFE; | 1158 return MAY_BE_SAFE; |
| 1157 } | 1159 } |
| 1158 | 1160 |
| 1159 | 1161 |
| 1160 bool STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1162 bool STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1161 base_address_register_writeback_small_immediate( | 1163 base_address_register_writeback_small_immediate( |
| 1162 Instruction inst) const { | 1164 Instruction inst) const { |
| 1163 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1165 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1164 // small_imm_base_wb: 'true' | 1166 // small_imm_base_wb: 'inst(21)=1' |
| 1165 return true; | 1167 return (inst.Bits() & 0x00200000) == |
| 1168 0x00200000; |
| 1166 } | 1169 } |
| 1167 | 1170 |
| 1168 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1171 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1169 uses(Instruction inst) const { | 1172 uses(Instruction inst) const { |
| 1170 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1173 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1171 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 1174 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 1172 return nacl_arm_dec::Union(RegisterList(). | 1175 return nacl_arm_dec::Union(RegisterList(). |
| 1173 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 1176 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 1174 } | 1177 } |
| 1175 | 1178 |
| 1176 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: | 1179 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 1177 // | 1180 // |
| 1178 // {None: 32, | 1181 // {None: 32, |
| 1179 // Pc: 15, | 1182 // Pc: 15, |
| 1180 // Rn: Rn(19:16), | 1183 // Rn: Rn(19:16), |
| 1181 // W: W(21), | 1184 // W: W(21), |
| 1185 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 1182 // base: Rn, | 1186 // base: Rn, |
| 1183 // baseline: StoreRegisterList, | 1187 // baseline: StoreRegisterList, |
| 1184 // cond: cond(31:28), | 1188 // cond: cond(31:28), |
| 1185 // constraints: , | 1189 // constraints: , |
| 1186 // defs: {Rn | 1190 // defs: {Rn |
| 1187 // if wback | 1191 // if wback |
| 1188 // else None}, | 1192 // else None}, |
| 1189 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 1193 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 1190 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, | 1194 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, |
| 1191 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, | 1195 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, |
| 1192 // register_list: register_list(15:0), | 1196 // register_list: register_list(15:0), |
| 1193 // registers: RegisterList(register_list), | 1197 // registers: RegisterList(register_list), |
| 1194 // rule: STM_STMIA_STMEA, | 1198 // rule: STM_STMIA_STMEA, |
| 1195 // safety: [Rn == | 1199 // safety: [Rn == |
| 1196 // Pc || | 1200 // Pc || |
| 1197 // NumGPRs(registers) < | 1201 // NumGPRs(registers) < |
| 1198 // 1 => UNPREDICTABLE, | 1202 // 1 => UNPREDICTABLE, |
| 1199 // wback && | 1203 // wback && |
| 1200 // Contains(registers, Rn) && | 1204 // Contains(registers, Rn) && |
| 1201 // Rn != | 1205 // Rn != |
| 1202 // SmallestGPR(registers) => UNKNOWN], | 1206 // SmallestGPR(registers) => UNKNOWN], |
| 1203 // small_imm_base_wb: true, | 1207 // small_imm_base_wb: wback, |
| 1204 // true: true, | |
| 1205 // uses: Union({Rn}, registers), | 1208 // uses: Union({Rn}, registers), |
| 1206 // wback: W(21)=1} | 1209 // wback: W(21)=1} |
| 1207 Register STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1210 Register STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1208 base_address_register(Instruction inst) const { | 1211 base_address_register(Instruction inst) const { |
| 1209 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1212 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1210 // base: 'inst(19:16)' | 1213 // base: 'inst(19:16)' |
| 1211 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 1214 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 1212 } | 1215 } |
| 1213 | 1216 |
| 1214 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1217 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1247 return UNKNOWN; | 1250 return UNKNOWN; |
| 1248 | 1251 |
| 1249 return MAY_BE_SAFE; | 1252 return MAY_BE_SAFE; |
| 1250 } | 1253 } |
| 1251 | 1254 |
| 1252 | 1255 |
| 1253 bool STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1256 bool STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1254 base_address_register_writeback_small_immediate( | 1257 base_address_register_writeback_small_immediate( |
| 1255 Instruction inst) const { | 1258 Instruction inst) const { |
| 1256 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1259 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1257 // small_imm_base_wb: 'true' | 1260 // small_imm_base_wb: 'inst(21)=1' |
| 1258 return true; | 1261 return (inst.Bits() & 0x00200000) == |
| 1262 0x00200000; |
| 1259 } | 1263 } |
| 1260 | 1264 |
| 1261 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1265 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1262 uses(Instruction inst) const { | 1266 uses(Instruction inst) const { |
| 1263 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1267 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1264 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 1268 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 1265 return nacl_arm_dec::Union(RegisterList(). | 1269 return nacl_arm_dec::Union(RegisterList(). |
| 1266 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 1270 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 1267 } | 1271 } |
| 1268 | 1272 |
| (...skipping 9086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10355 | 10359 |
| 10356 | 10360 |
| 10357 RegisterList VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0:: | 10361 RegisterList VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0:: |
| 10358 uses(Instruction inst) const { | 10362 uses(Instruction inst) const { |
| 10359 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 10363 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 10360 // uses: '{}' | 10364 // uses: '{}' |
| 10361 return RegisterList(); | 10365 return RegisterList(); |
| 10362 } | 10366 } |
| 10363 | 10367 |
| 10364 } // namespace nacl_arm_dec | 10368 } // namespace nacl_arm_dec |
| OLD | NEW |