mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 19:49:12 +02:00
* fixed 64 bit bug in a_load_subsetref_regs_noindex
git-svn-id: trunk@6602 -
This commit is contained in:
parent
0ffd81e16d
commit
430351e424
@ -314,7 +314,8 @@ unit cgppc;
|
|||||||
restbits := (sref.bitlen - (loadbitsize - sref.startbit));
|
restbits := (sref.bitlen - (loadbitsize - sref.startbit));
|
||||||
a_op_const_reg(list,OP_SHL,OS_INT,restbits,valuereg);
|
a_op_const_reg(list,OP_SHL,OS_INT,restbits,valuereg);
|
||||||
{ mask other bits }
|
{ mask other bits }
|
||||||
a_op_const_reg(list,OP_AND,OS_INT,(1 shl sref.bitlen)-1,valuereg);
|
if (sref.bitlen <> AIntBits) then
|
||||||
|
a_op_const_reg(list,OP_AND,OS_INT,(aword(1) shl sref.bitlen)-1,valuereg);
|
||||||
{ use subsetreg routine, it may have been overridden with an optimized version }
|
{ use subsetreg routine, it may have been overridden with an optimized version }
|
||||||
fromsreg.subsetreg := extra_value_reg;
|
fromsreg.subsetreg := extra_value_reg;
|
||||||
fromsreg.subsetregsize := OS_INT;
|
fromsreg.subsetregsize := OS_INT;
|
||||||
|
Loading…
Reference in New Issue
Block a user