* some fixes to RegReadByInstr

This commit is contained in:
Jonas Maebe 1999-08-11 14:23:39 +00:00
parent 265f3c09be
commit 1d923a08ec

View File

@ -120,13 +120,14 @@ Begin
RegInOp(Reg,op[0]) or
RegInOp(Reg,op[1]) or
((ops = 1) and
(reg in [R_EAX,R_EDX]))
A_IDIV, A_MUL:
(reg = R_EAX]))
A_DIV, A_IDIV, A_MUL:
TmpResult :=
RegInOp(Reg,op[0]) or
(Reg = R_EAX) or
((Reg = R_EDX) and
(p^.opcode = A_IDIV) and
((p^.opcode = A_DIV) or
(p^.opcode = A_IDIV)) and
(p^.size = S_L))
Else
Begin
@ -138,9 +139,9 @@ Begin
Begin
Case InstrProp.Ch[Cnt] Of
C_REAX..C_REDI,C_RWEAX..C_RWEDI
{$ifdef arithopt}
{$ifdef arithopt}
,C_MEAX..C_MEDI
{$endif arithopt}:
{$endif arithopt}:
TmpResult := Reg = TCh2Reg(InstrProp.Ch[Cnt]);
C_ROp1,C_RWOp1{$ifdef arithopt},C_Mop1{$endif arithopt}:
TmpResult := RegInOp(PInstr(p)^.oper[0]);
@ -155,12 +156,12 @@ Begin
C_WOp3: TmpResult := (PInstr^.oper[0].typ = top_ref) And
(RegInRef(Reg,PInstr^.oper[0].ref);
C_WMemEDI: TmpResult := (Reg = R_EDI);
C_FPU: TmpResult := Reg in [R_ST..R_ST7,R_MM0..R_MM7];
C_FPU: TmpResult := Reg in [R_ST..R_ST7,R_MM0..R_MM7]
End;
Inc(Cnt);
Inc(Cnt)
End
End
End
End;
End;
End;
{ ********************* TRegInfoCpu *****************}
@ -211,7 +212,10 @@ End;
End.
{
$Log$
Revision 1.3 1999-08-10 12:40:20 jonas
Revision 1.4 1999-08-11 14:23:39 jonas
* some fixes to RegReadByInstr
Revision 1.3 1999/08/10 12:40:20 jonas
+ implemented RegReadByInstr
Revision 1.1 1999/08/08 13:24:50 jonas