mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 05:59:28 +02:00
* force constants into a registers in the 32x32->64 optimized case
git-svn-id: trunk@30034 -
This commit is contained in:
parent
86bde57b0f
commit
b821e31442
@ -366,6 +366,10 @@ interface
|
||||
not(is_signed(right.resultdef));
|
||||
pass_left_right;
|
||||
force_reg_left_right(true,true);
|
||||
{ force_reg_left_right can leave right as a LOC_CONSTANT (we can't
|
||||
say "a constant register is okay, but an ordinal constant isn't) }
|
||||
if right.location.loc=LOC_CONSTANT then
|
||||
hlcg.location_force_reg(current_asmdata.CurrAsmList,right.location,right.resultdef,right.resultdef,true);
|
||||
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
||||
location.register:=cg.getintregister(current_asmdata.CurrAsmList,def_cgsize(resultdef));
|
||||
current_asmdata.CurrAsmList.Concat(taicpu.op_reg_reg_reg(multops[unsigned],location.register,left.location.register,right.location.register));
|
||||
|
Loading…
Reference in New Issue
Block a user