* factor out TRVCpuAsmOptimizer.OptPass1SLTIU

This commit is contained in:
florian 2025-03-01 22:24:13 +01:00
parent 0df9da502b
commit 2679972f38

View File

@ -52,6 +52,7 @@ type
function OptPass1SLTx(var p: tai): boolean;
function OptPass1SLTI(var p: tai): boolean;
function OptPass1Andi(var p: tai): boolean;
function OptPass1SLTIU(var p: tai): boolean;
function OptPass1Add(var p: tai): boolean;
function OptPass1Sub(var p: tai): boolean;
@ -710,26 +711,11 @@ implementation
end;
function TRVCpuAsmOptimizer.PeepHoleOptPass1Cpu(var p: tai): boolean;
function TRVCpuAsmOptimizer.OptPass1SLTIU(var p: tai): boolean;
var
hp1: tai;
begin
result:=false;
case p.typ of
ait_instruction:
begin
case taicpu(p).opcode of
A_ADDI:
result:=OptPass1Add(p);
A_SUB:
result:=OptPass1Sub(p);
A_ANDI:
result:=OptPass1Andi(p);
A_SLT,
A_SLTU:
result:=OptPass1SLTx(p);
A_SLTIU:
begin
{
Turn
sltiu x,y,1
@ -759,6 +745,28 @@ implementation
result:=true;
end;
end;
function TRVCpuAsmOptimizer.PeepHoleOptPass1Cpu(var p: tai): boolean;
var
hp1: tai;
begin
result:=false;
case p.typ of
ait_instruction:
begin
case taicpu(p).opcode of
A_ADDI:
result:=OptPass1Add(p);
A_SUB:
result:=OptPass1Sub(p);
A_ANDI:
result:=OptPass1Andi(p);
A_SLT,
A_SLTU:
result:=OptPass1SLTx(p);
A_SLTIU:
result:=OptPass1SLTIU(p);
A_LA,
A_LUI,
A_LB,