41,42c41,42
< def loadStoreBase(name, Name, imm, eaCode, accCode, memFlags,
< instFlags, base = 'Memory', execTemplateBase = ''):
---
> def loadStoreBaseWork(name, Name, imm, swp, codeBlobs, memFlags,
> instFlags, base = 'Memory', execTemplateBase = ''):
46a47,48
> eaCode = codeBlobs["ea_code"]
>
55,59c57
< iop = InstObjParams(name, Name, base,
< {'ea_code': eaCode,
< 'memacc_code': accCode,
< 'predicate_test': predicateTest},
< instFlags)
---
> codeBlobs["ea_code"] = eaCode
60a59,60
> iop = InstObjParams(name, Name, base, codeBlobs, instFlags)
>
65c65,68
< if imm:
---
> if swp:
> declareTemplate = SwapDeclare
> constructTemplate = SwapConstructor
> elif imm:
78a82,98
> def loadStoreBase(name, Name, imm, eaCode, accCode, memFlags,
> instFlags, base = 'Memory', execTemplateBase = ''):
> codeBlobs = { "ea_code": eaCode,
> "memacc_code": accCode,
> "predicate_test": predicateTest }
> return loadStoreBaseWork(name, Name, imm, False, codeBlobs, memFlags,
> instFlags, base, execTemplateBase)
>
> def SwapBase(name, Name, eaCode, preAccCode, postAccCode, memFlags,
> instFlags):
> codeBlobs = { "ea_code": eaCode,
> "preacc_code": preAccCode,
> "postacc_code": postAccCode,
> "predicate_test": predicateTest }
> return loadStoreBaseWork(name, Name, False, True, codeBlobs, memFlags,
> instFlags, 'Swap', 'Swap')
>