data.isa (12258:08990d24fe41) data.isa (12542:03cb745f9982)
1// Copyright (c) 2010,2017 ARM Limited
1// Copyright (c) 2010,2017-2018 ARM Limited
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license
9// terms below provided that you ensure that this notice is replicated

--- 1184 unchanged lines hidden (view full) ---

1194 const bool enable = (bits(machInst, 4) == 0);
1195 const uint32_t mods = (bits(machInst, 2, 0) << 5) |
1196 ((enable ? 1 : 0) << 9);
1197 return new Cps(machInst, mods);
1198 }
1199 }
1200 case 0xa:
1201 {
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license
9// terms below provided that you ensure that this notice is replicated

--- 1184 unchanged lines hidden (view full) ---

1194 const bool enable = (bits(machInst, 4) == 0);
1195 const uint32_t mods = (bits(machInst, 2, 0) << 5) |
1196 ((enable ? 1 : 0) << 9);
1197 return new Cps(machInst, mods);
1198 }
1199 }
1200 case 0xa:
1201 {
1202 IntRegIndex rd = (IntRegIndex)(uint32_t)bits(machInst, 2, 0);
1203 IntRegIndex rm = (IntRegIndex)(uint32_t)bits(machInst, 5, 3);
1204 switch (bits(machInst, 7, 6)) {
1205 case 0x0:
1206 return new Rev(machInst, rd, rm);
1207 case 0x1:
1208 return new Rev16(machInst, rd, rm);
1209 case 0x3:
1210 return new Revsh(machInst, rd, rm);
1211 default:
1212 break;
1202 const uint8_t op1 = bits(machInst, 7, 6);
1203 if (op1 == 0x2) {
1204 return new Hlt(machInst, bits(machInst, 5, 0));
1205 } else {
1206 IntRegIndex rd =
1207 (IntRegIndex)(uint32_t)bits(machInst, 2, 0);
1208 IntRegIndex rm =
1209 (IntRegIndex)(uint32_t)bits(machInst, 5, 3);
1210
1211 switch (op1) {
1212 case 0x0:
1213 return new Rev(machInst, rd, rm);
1214 case 0x1:
1215 return new Rev16(machInst, rd, rm);
1216 case 0x3:
1217 return new Revsh(machInst, rd, rm);
1218 default:
1219 break;
1220 }
1213 }
1214 }
1215 break;
1216 case 0x9:
1217 case 0xb:
1218 return new Cbnz(machInst,
1219 (bits(machInst, 9) << 6) |
1220 (bits(machInst, 7, 3) << 1),

--- 335 unchanged lines hidden ---
1221 }
1222 }
1223 break;
1224 case 0x9:
1225 case 0xb:
1226 return new Cbnz(machInst,
1227 (bits(machInst, 9) << 6) |
1228 (bits(machInst, 7, 3) << 1),

--- 335 unchanged lines hidden ---