mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-13 00:58:20 +02:00
* don't change a sequence of shifts and sub/adds into a lea() in case
the flags are read afterwards (broke shldl/sub/sbb sequence generated for 64 bit "*2", which appears in bitpacked size calculation) git-svn-id: trunk@7336 -
This commit is contained in:
parent
c9c82ddbf8
commit
20206500aa
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -6879,6 +6879,7 @@ tests/test/tprec10.pp svneol=native#text/plain
|
|||||||
tests/test/tprec11.pp svneol=native#text/plain
|
tests/test/tprec11.pp svneol=native#text/plain
|
||||||
tests/test/tprec12.pp svneol=native#text/plain
|
tests/test/tprec12.pp svneol=native#text/plain
|
||||||
tests/test/tprec13.pp svneol=native#text/plain
|
tests/test/tprec13.pp svneol=native#text/plain
|
||||||
|
tests/test/tprec14.pp svneol=native#text/plain
|
||||||
tests/test/tprec2.pp svneol=native#text/plain
|
tests/test/tprec2.pp svneol=native#text/plain
|
||||||
tests/test/tprec3.pp svneol=native#text/plain
|
tests/test/tprec3.pp svneol=native#text/plain
|
||||||
tests/test/tprec4.pp svneol=native#text/plain
|
tests/test/tprec4.pp svneol=native#text/plain
|
||||||
|
@ -1497,7 +1497,9 @@ begin
|
|||||||
(((taicpu(hp1).opcode = A_INC) or
|
(((taicpu(hp1).opcode = A_INC) or
|
||||||
(taicpu(hp1).opcode = A_DEC)) and
|
(taicpu(hp1).opcode = A_DEC)) and
|
||||||
(taicpu(hp1).oper[0]^.typ = Top_Reg) and
|
(taicpu(hp1).oper[0]^.typ = Top_Reg) and
|
||||||
(taicpu(hp1).oper[0]^.reg = taicpu(p).oper[1]^.reg))) Do
|
(taicpu(hp1).oper[0]^.reg = taicpu(p).oper[1]^.reg))) and
|
||||||
|
(not GetNextInstruction(hp1,hp2) or
|
||||||
|
not instrReadsFlags(hp2)) Do
|
||||||
begin
|
begin
|
||||||
TmpBool1 := False;
|
TmpBool1 := False;
|
||||||
if (taicpu(hp1).oper[0]^.typ = Top_Const) then
|
if (taicpu(hp1).oper[0]^.typ = Top_Const) then
|
||||||
|
9
tests/test/tprec14.pp
Normal file
9
tests/test/tprec14.pp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
type
|
||||||
|
tr = bitpacked record
|
||||||
|
l: longint;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if bitsizeof(tr) <> 32 then
|
||||||
|
halt(1);
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user