Generate slightly better code for logical negation.
This commit is contained in:
parent
24c6e72a83
commit
ca0147507b
11
Gen.pas
11
Gen.pas
|
@ -5514,16 +5514,17 @@ procedure GenTree {op: icptr};
|
||||||
GenImplied(m_ina);
|
GenImplied(m_ina);
|
||||||
end; {case pc_ngi}
|
end; {case pc_ngi}
|
||||||
|
|
||||||
pc_not: begin
|
pc_not:
|
||||||
if not operandIsBoolean then begin
|
if not operandIsBoolean then begin
|
||||||
lab1 := GenLabel;
|
lab1 := GenLabel;
|
||||||
GenImpliedForFlags(m_tax);
|
GenImpliedForFlags(m_tax);
|
||||||
GenNative(m_beq, relative, lab1, nil, 0);
|
GenNative(m_beq, relative, lab1, nil, 0);
|
||||||
GenNative(m_lda_imm, immediate, 1, nil, 0);
|
GenNative(m_lda_imm, immediate, $ffff, nil, 0);
|
||||||
GenLab(lab1);
|
GenLab(lab1);
|
||||||
end; {if}
|
GenImplied(m_ina);
|
||||||
GenNative(m_eor_imm, immediate, 1, nil, 0);
|
end {if}
|
||||||
end; {if}
|
else
|
||||||
|
GenNative(m_eor_imm, immediate, 1, nil, 0);
|
||||||
end; {case}
|
end; {case}
|
||||||
end; {GenBntNgiNot}
|
end; {GenBntNgiNot}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue