mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-31 01:12:04 +02:00
* fixed include/exclude for normalsets
This commit is contained in:
parent
a3a3311e41
commit
2e87df3832
@ -543,13 +543,14 @@ implementation
|
||||
else
|
||||
internalerror(20020727);
|
||||
end;
|
||||
{ hregister contains the bitnumber to add }
|
||||
cg.a_load_const_reg(exprasmlist, OS_INT, 1, hregister2);
|
||||
cg.a_op_reg_reg(exprasmlist, OP_SHL, OS_INT, hregister, hregister2);
|
||||
|
||||
|
||||
if use_small then
|
||||
begin
|
||||
{ hregister contains the bitnumber to add }
|
||||
cg.a_load_const_reg(exprasmlist, OS_INT, 1, hregister2);
|
||||
cg.a_op_reg_reg(exprasmlist, OP_SHL, OS_INT, hregister, hregister2);
|
||||
|
||||
|
||||
{ possiblities :
|
||||
bitnumber : LOC_REFERENCE, LOC_REGISTER, LOC_CREGISTER
|
||||
set value : LOC_REFERENCE, LOC_REGISTER
|
||||
@ -581,7 +582,10 @@ implementation
|
||||
set value : LOC_REFERENCE
|
||||
}
|
||||
{ hregister contains the bitnumber (div 32 to get the correct offset) }
|
||||
cg.a_op_const_reg(exprasmlist, OP_SHR, 5, hregister);
|
||||
{ hregister contains the bitnumber to add }
|
||||
|
||||
cg.a_op_const_reg_reg(exprasmlist, OP_SHR, OS_32, 5, hregister,hregister2);
|
||||
cg.a_op_const_reg(exprasmlist, OP_SHL, 2, hregister2);
|
||||
{$ifdef newra}
|
||||
addrreg:=rg.getaddressregister(exprasmlist);
|
||||
{$else}
|
||||
@ -589,7 +593,14 @@ implementation
|
||||
{$endif}
|
||||
{ calculate the correct address of the operand }
|
||||
cg.a_loadaddr_ref_reg(exprasmlist, tcallparanode(left).left.location.reference,addrreg);
|
||||
cg.a_op_reg_reg(exprasmlist, OP_ADD, OS_INT, hregister, addrreg);
|
||||
cg.a_op_reg_reg(exprasmlist, OP_ADD, OS_INT, hregister2, addrreg);
|
||||
|
||||
{ hregister contains the bitnumber to add }
|
||||
cg.a_load_const_reg(exprasmlist, OS_INT, 1, hregister2);
|
||||
cg.a_op_const_reg(exprasmlist, OP_AND, 31, hregister);
|
||||
cg.a_op_reg_reg(exprasmlist, OP_SHL, OS_INT, hregister, hregister2);
|
||||
|
||||
|
||||
reference_reset_base(href,addrreg,0);
|
||||
|
||||
if inlinenumber=in_include_x_y then
|
||||
@ -598,7 +609,7 @@ implementation
|
||||
end
|
||||
else
|
||||
begin
|
||||
cg.a_op_reg_reg(exprasmlist, OP_NOT, OS_32, hregister2, hregister2);
|
||||
cg.a_op_reg_reg(exprasmlist, OP_NOT, OS_32, hregister2, hregister);
|
||||
cg.a_op_reg_ref(exprasmlist, OP_AND, OS_32, hregister2, href);
|
||||
end;
|
||||
{$ifdef newra}
|
||||
@ -671,7 +682,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.28 2003-04-27 11:21:33 peter
|
||||
Revision 1.29 2003-05-01 12:27:08 jonas
|
||||
* fixed include/exclude for normalsets
|
||||
|
||||
Revision 1.28 2003/04/27 11:21:33 peter
|
||||
* aktprocdef renamed to current_procdef
|
||||
* procinfo renamed to current_procinfo
|
||||
* procinfo will now be stored in current_module so it can be
|
||||
|
Loading…
Reference in New Issue
Block a user