mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-01 05:52:06 +02:00
* m68k: make sure right is in an address register for muln,addn,orn,xorn, before calling the low level cg
This commit is contained in:
parent
3317078ae1
commit
22eb1e099f
@ -456,6 +456,14 @@ implementation
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if (right.location.loc in [LOC_REGISTER,LOC_CREGISTER]) and
|
||||||
|
isaddressregister(right.location.register) and
|
||||||
|
(nodetype in [muln,andn,orn,xorn]) then
|
||||||
|
begin
|
||||||
|
//list.concat(tai_comment.create(strpnew('second_addordinal: move addr to data')));
|
||||||
|
hlcg.location_force_reg(current_asmdata.CurrAsmList,right.location,right.resultdef,cgsize_orddef(def_cgsize(right.resultdef)),false);
|
||||||
|
end;
|
||||||
|
|
||||||
if isaddressregister(left.location.register) and (nodetype in [addn,subn]) then
|
if isaddressregister(left.location.register) and (nodetype in [addn,subn]) then
|
||||||
location.register := cg.getaddressregister(current_asmdata.CurrAsmList)
|
location.register := cg.getaddressregister(current_asmdata.CurrAsmList)
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user