mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2024-12-21 16:29:31 +00:00
Eliminate an unnecessary instruction in quad-to-word conversion.
The TAY instruction would set the flags, but that is unnecessary because pc_cnv is a "NeedsCondition" operation (and some other conversions also do not reliably set the flags). The code is also changed to preserve the Y register, possibly facilitating register optimizations.
This commit is contained in:
parent
4470626ade
commit
2dff68e6ae
9
Gen.pas
9
Gen.pas
@ -1939,15 +1939,14 @@ else if op^.q = realToUQuad then begin
|
||||
else if op^.q in [quadToWord,uquadToWord,quadToUWord,uquadToUWord] then begin
|
||||
GenImplied(m_pla);
|
||||
GenImplied(m_plx);
|
||||
GenImplied(m_ply);
|
||||
GenImplied(m_ply);
|
||||
GenImplied(m_tay);
|
||||
GenImplied(m_plx);
|
||||
GenImplied(m_plx);
|
||||
end {else if}
|
||||
else if op^.q in [quadToUByte,uquadToUByte] then begin
|
||||
GenImplied(m_pla);
|
||||
GenImplied(m_plx);
|
||||
GenImplied(m_ply);
|
||||
GenImplied(m_ply);
|
||||
GenImplied(m_plx);
|
||||
GenImplied(m_plx);
|
||||
GenNative(m_and_imm, immediate, $00FF, nil, 0);
|
||||
end {else if}
|
||||
else if op^.q in [quadToByte,uquadToByte] then begin
|
||||
|
Loading…
Reference in New Issue
Block a user