git-svn-id: trunk@32749 -
@@ -360,7 +360,7 @@ unit agarmgas;
// writeln(taicpu(hp).fileinfo.line);
{ LDM and STM use references as first operand but they are written like a register }
- if (i=0) and (op in [A_LDM,A_STM,A_FSTM,A_FLDM,A_VSTM,A_VLDM]) then
+ if (i=0) and (op in [A_LDM,A_STM,A_FSTM,A_FLDM,A_VSTM,A_VLDM,A_SRS,A_RFE]) then
begin
case taicpu(hp).oper[0]^.typ of
top_ref:
@@ -167,6 +167,7 @@
'smuad',
'smusd',
'srs',
+'rfe',
'ssat',
'ssat16',
'ssax',
@@ -352,5 +352,6 @@ attsufNONE,
attsufNONE,
+attsufNONE,
attsufNONE
);
@@ -1030,6 +1030,7 @@ reg32,reg32,reg32 \x80\xFB\x40\xF0\x0 THUMB32,ARMv6T2
reg32,reg32,reg32 \x15\x7\x00\x5\xF ARM32,ARMv6
[SRScc]
+[RFEcc]
[SSATcc]
reg32,immshifter,reg32 \x83\xF3\x00\x0\x0 THUMB32,ARMv6T2
@@ -167,6 +167,7 @@ A_SMMUL,
A_SMUAD,
A_SMUSD,
A_SRS,
+A_RFE,
A_SSAT,
A_SSAT16,
A_SSAX,
@@ -1004,7 +1004,7 @@ Unit raarmgas;
oper.opr.typ:=OPR_REGISTER;
oper.opr.reg:=tempreg;
end
- else if (actasmtoken=AS_NOT) and (actopcode in [A_LDM,A_STM,A_FLDM,A_FSTM,A_VLDM,A_VSTM]) then
+ else if (actasmtoken=AS_NOT) and (actopcode in [A_LDM,A_STM,A_FLDM,A_FSTM,A_VLDM,A_VSTM,A_SRS,A_RFE]) then
consume(AS_NOT);
oper.opr.typ:=OPR_REFERENCE;