mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-05 14:06:12 +02:00
* One more fix of operand size, likely harmless because shift amount is taken modulo bit-width anyway.
git-svn-id: trunk@27955 -
This commit is contained in:
parent
8634aa8ad2
commit
05ecd3cec1
@ -416,7 +416,7 @@ interface
|
|||||||
hreg2:=cg.getintregister(current_asmdata.CurrAsmList,cgsize);
|
hreg2:=cg.getintregister(current_asmdata.CurrAsmList,cgsize);
|
||||||
emit_reg_reg(A_MOV,opsize,hreg1,hreg2);
|
emit_reg_reg(A_MOV,opsize,hreg1,hreg2);
|
||||||
{If the left value is signed, hreg2=$ffffffff, otherwise 0.}
|
{If the left value is signed, hreg2=$ffffffff, otherwise 0.}
|
||||||
emit_const_reg(A_SAR,opsize,63,hreg2);
|
emit_const_reg(A_SAR,opsize,resultdef.size*8-1,hreg2);
|
||||||
{If signed, hreg2=right value-1, otherwise 0.}
|
{If signed, hreg2=right value-1, otherwise 0.}
|
||||||
{ (don't use emit_const_reg, because if value>high(longint)
|
{ (don't use emit_const_reg, because if value>high(longint)
|
||||||
then it must first be loaded into a register) }
|
then it must first be loaded into a register) }
|
||||||
|
Loading…
Reference in New Issue
Block a user