ARM: Make LDM that loads the PC perform an interworking branch.
This commit is contained in:
@@ -53,7 +53,7 @@ let {{
|
||||
let {{
|
||||
microLdrUopIop = InstObjParams('ldr_uop', 'MicroLdrUop',
|
||||
'MicroMemOp',
|
||||
{'memacc_code': 'Ra = Mem;',
|
||||
{'memacc_code': 'IWRa = Mem;',
|
||||
'ea_code': 'EA = Rb + (up ? imm : -imm);',
|
||||
'predicate_test': predicateTest},
|
||||
['IsMicroop'])
|
||||
|
||||
@@ -129,6 +129,8 @@ def operands {{
|
||||
|
||||
#Register fields for microops
|
||||
'Ra' : ('IntReg', 'uw', 'ura', 'IsInteger', 11, maybePCRead, maybePCWrite),
|
||||
'IWRa' : ('IntReg', 'uw', 'ura', 'IsInteger', 11,
|
||||
maybePCRead, maybeIWPCWrite),
|
||||
'Fa' : ('FloatReg', 'sf', 'ura', 'IsFloating', 11),
|
||||
'Rb' : ('IntReg', 'uw', 'urb', 'IsInteger', 12, maybePCRead, maybePCWrite),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user