mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-23 18:49:49 +02:00
* tcgx86.a_op_const_reg_reg: optimize trivial cases before considering more complex ones.
git-svn-id: trunk@27892 -
This commit is contained in:
parent
c184d9740c
commit
ae627a4ba8
@ -1570,6 +1570,19 @@ unit cgx86;
|
||||
href : treference;
|
||||
begin
|
||||
power:=0;
|
||||
optimize_op_const(size,op,a);
|
||||
case op of
|
||||
OP_NONE:
|
||||
begin
|
||||
a_load_reg_reg(list,size,size,src,dst);
|
||||
exit;
|
||||
end;
|
||||
OP_MOVE:
|
||||
begin
|
||||
a_load_const_reg(list,size,a,dst);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
if (op in [OP_MUL,OP_IMUL]) and (size in [OS_32,OS_S32,OS_64,OS_S64]) and
|
||||
not(cs_check_overflow in current_settings.localswitches) and
|
||||
(a>1) and ispowerof2(int64(a-1),power) and (power in [1..3]) then
|
||||
|
Loading…
Reference in New Issue
Block a user