Deleted Added
sdiff udiff text old ( 7309:35b6ca04e5b9 ) new ( 7314:f254f66afb11 )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

258 "strexh" : "STREXH_" + storeImmClassName(False, True, False, size=2),
259 "strexd" : "STREXD_" + storeDoubleImmClassName(False, True, False)
260 }
261}};
262
263def format Thumb32SrsRfe() {{
264 decode_block = '''
265 {
266 if (bits(machInst, 20) == 1) {
267 const bool add = (bits(machInst, 24, 23) == 0x3);
268 // post == add
269 const bool wb = (bits(machInst, 21) == 1);
270 const IntRegIndex rn =
271 (IntRegIndex)(uint32_t)bits(machInst, 19, 16);
272 if (!add && !wb) {
273 return new %(rfe)s(machInst, rn, RfeOp::DecrementBefore, wb);
274 } else if (add && !wb) {
275 return new %(rfe_u)s(machInst, rn, RfeOp::IncrementAfter, wb);
276 } else if (!add && wb) {
277 return new %(rfe_w)s(machInst, rn, RfeOp::DecrementBefore, wb);
278 } else {
279 return new %(rfe_uw)s(machInst, rn, RfeOp::IncrementAfter, wb);
280 }
281 } else {
282 return new WarnUnimplemented("srs", machInst);
283 }
284 }
285 ''' % {
286 "rfe" : "RFE_" + loadImmClassName(False, False, False, 8),
287 "rfe_u" : "RFE_" + loadImmClassName(True, True, False, 8),
288 "rfe_w" : "RFE_" + loadImmClassName(False, False, True, 8),
289 "rfe_uw" : "RFE_" + loadImmClassName(True, True, True, 8)
290 }
291}};
292
293def format Thumb32LdrStrDExTbh() {{
294 decode_block = '''
295 {
296 const uint32_t op1 = bits(machInst, 24, 23);
297 const uint32_t op2 = bits(machInst, 21, 20);

--- 740 unchanged lines hidden ---