From 1280635cc4e5dd94539d5c73c2405b8eb6c2bfb5 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 23 Mar 2004 21:03:50 +0000 Subject: [PATCH] * arm assembler instructions can have 4 operands * qword comparisations fixed --- compiler/arm/cpubase.pas | 8 ++++++-- compiler/arm/narmadd.pas | 10 +++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/compiler/arm/cpubase.pas b/compiler/arm/cpubase.pas index b17d2f0d36..b9f3c23a22 100644 --- a/compiler/arm/cpubase.pas +++ b/compiler/arm/cpubase.pas @@ -314,7 +314,7 @@ unit cpubase; *****************************************************************************} const - max_operands = 3; + max_operands = 4; {# Constant defining possibly all registers which might require saving } ALL_OTHERREGISTERS = []; @@ -570,7 +570,11 @@ unit cpubase; end. { $Log$ - Revision 1.28 2004-03-13 18:45:40 florian + Revision 1.29 2004-03-23 21:03:50 florian + * arm assembler instructions can have 4 operands + * qword comparisations fixed + + Revision 1.28 2004/03/13 18:45:40 florian * floating compares fixed * unary minus for floats fixed diff --git a/compiler/arm/narmadd.pas b/compiler/arm/narmadd.pas index 26b0cb8699..c38fdada06 100644 --- a/compiler/arm/narmadd.pas +++ b/compiler/arm/narmadd.pas @@ -261,8 +261,8 @@ interface { operation requiring proper N, Z and C flags ? } if unsigned or (nodetype in [equaln,unequaln]) then begin - exprasmlist.concat(taicpu.op_reg_reg(A_CMP,left.location.register64.reglo,right.location.register64.reglo)); - exprasmlist.concat(setcondition(taicpu.op_reg_reg(A_CMP,left.location.register64.reghi,right.location.register64.reghi),C_EQ)); + exprasmlist.concat(taicpu.op_reg_reg(A_CMP,left.location.register64.reghi,right.location.register64.reghi)); + exprasmlist.concat(setcondition(taicpu.op_reg_reg(A_CMP,left.location.register64.reglo,right.location.register64.reglo),C_EQ)); end { operation requiring proper N, V and C flags ? } else if nodetype in [gten,ltn] then @@ -343,7 +343,11 @@ begin end. { $Log$ - Revision 1.13 2004-03-13 18:45:40 florian + Revision 1.14 2004-03-23 21:03:50 florian + * arm assembler instructions can have 4 operands + * qword comparisations fixed + + Revision 1.13 2004/03/13 18:45:40 florian * floating compares fixed * unary minus for floats fixed