mem.isa (7131:ab3a70a37ca8) mem.isa (7206:00494ff7ca71)
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

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

208 "ldrsb" : decodePuiw(True, False, size=1, sign=True),
209 "ldrd" : decodePuiw(True, True),
210 "ldrsh" : decodePuiw(True, False, size=2, sign=True),
211 "strd" : decodePuiw(False, True)
212 }
213 decode_block = decode % subs
214}};
215
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

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

208 "ldrsb" : decodePuiw(True, False, size=1, sign=True),
209 "ldrd" : decodePuiw(True, True),
210 "ldrsh" : decodePuiw(True, False, size=2, sign=True),
211 "strd" : decodePuiw(False, True)
212 }
213 decode_block = decode % subs
214}};
215
216def format ArmSyncMem() {{
217 decode_block = '''
218 {
219 const IntRegIndex rn = (IntRegIndex)(uint32_t)bits(machInst, 19, 16);
220 const IntRegIndex rt = (IntRegIndex)(uint32_t)bits(machInst, 15, 12);
221 const IntRegIndex rt2 = (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
222 switch (PUBWL) {
223 case 0x10:
224 return new Swp(machInst, rt, rt2, rn);
225 case 0x14:
226 return new Swpb(machInst, rt, rt2, rn);
227 case 0x18:
228 return new WarnUnimplemented("strex", machInst);
229 case 0x19:
230 return new WarnUnimplemented("ldrex", machInst);
231 default:
232 return new Unknown(machInst);
233 }
234 }
235 '''
236}};
237
216def format Thumb32LoadWord() {{
217 decode = '''
218 {
219 uint32_t op1 = bits(machInst, 24, 23);
220 if (bits(op1, 1) == 0) {
221 uint32_t op2 = bits(machInst, 11, 6);
222 if (HTRN == 0xF) {
223 if (UP) {

--- 249 unchanged lines hidden ---
238def format Thumb32LoadWord() {{
239 decode = '''
240 {
241 uint32_t op1 = bits(machInst, 24, 23);
242 if (bits(op1, 1) == 0) {
243 uint32_t op2 = bits(machInst, 11, 6);
244 if (HTRN == 0xF) {
245 if (UP) {

--- 249 unchanged lines hidden ---