* maybe_constant means also that a loc can be CREGISTER

This commit is contained in:
florian 2005-01-01 14:32:53 +00:00
parent 141de0b463
commit 91ef608143

View File

@ -196,18 +196,19 @@ interface
if (left.location.loc<>LOC_REGISTER) and if (left.location.loc<>LOC_REGISTER) and
not( not(
allow_constant and allow_constant and
(left.location.loc=LOC_CONSTANT) (left.location.loc in [LOC_CONSTANT,LOC_CREGISTER])
) then ) then
location_force_reg(exprasmlist,left.location,left.location.size,false); location_force_reg(exprasmlist,left.location,left.location.size,false);
if (right.location.loc<>LOC_REGISTER) and if (right.location.loc<>LOC_REGISTER) and
not( not(
allow_constant and allow_constant and
(right.location.loc=LOC_CONSTANT) and (right.location.loc in [LOC_CONSTANT,LOC_CREGISTER]) and
(left.location.loc<>LOC_CONSTANT) (left.location.loc<>LOC_CONSTANT)
) then ) then
location_force_reg(exprasmlist,right.location,right.location.size,false); location_force_reg(exprasmlist,right.location,right.location.size,false);
{ Left is always a register, right can be register or constant } { Left is always a register, right can be register or constant }
if left.location.loc<>LOC_REGISTER then if left.location.loc=LOC_CONSTANT then
begin begin
{ when it is not allowed to swap we have a constant on { when it is not allowed to swap we have a constant on
left, that will give problems } left, that will give problems }
@ -773,7 +774,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.36 2004-11-01 17:41:28 florian Revision 1.37 2005-01-01 14:32:53 florian
* maybe_constant means also that a loc can be CREGISTER
Revision 1.36 2004/11/01 17:41:28 florian
* fixed arm compilation with cgutils * fixed arm compilation with cgutils
* ... * ...