mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-23 02:09:43 +02:00
* fixed the sign handling of i386 fpc_div_int64 helper (Mantis 30166)
git-svn-id: trunk@33753 -
This commit is contained in:
parent
bffe9480f4
commit
963c4aa1f8
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -15072,6 +15072,7 @@ tests/webtbs/tw3005.pp svneol=native#text/plain
|
||||
tests/webtbs/tw30082.pp svneol=native#text/plain
|
||||
tests/webtbs/tw3010.pp svneol=native#text/plain
|
||||
tests/webtbs/tw3012.pp svneol=native#text/plain
|
||||
tests/webtbs/tw30166.pp svneol=native#text/plain
|
||||
tests/webtbs/tw3023.pp svneol=native#text/plain
|
||||
tests/webtbs/tw3028.pp svneol=native#text/plain
|
||||
tests/webtbs/tw3038.pp svneol=native#text/plain
|
||||
|
@ -70,7 +70,7 @@
|
||||
xchgl %ecx,%eax
|
||||
divl %ebx
|
||||
movl %ecx,%edx
|
||||
jmp .Lexit
|
||||
jmp .Lmake_sign
|
||||
.Lbigdivisor:
|
||||
subl $12,%esp
|
||||
movl %eax,(%esp)
|
||||
|
32
tests/webtbs/tw30166.pp
Normal file
32
tests/webtbs/tw30166.pp
Normal file
@ -0,0 +1,32 @@
|
||||
{ Test against Mantis #30166, an issue in the i386 fpc_div_int64 helper. }
|
||||
Uses sysutils;
|
||||
|
||||
Var cc, dd: int64;
|
||||
a, b: int64;
|
||||
|
||||
Begin
|
||||
dd:=int64($0000000A6BB38805);
|
||||
cc:=int64($0000000000142E04);
|
||||
cc:=cc-2822400; { $FF11813BCCC3B114 }
|
||||
dd:=dd*cc;
|
||||
|
||||
{ dd:=int64($FF11813BCCC3B114); }
|
||||
|
||||
a:=dd div int64($00000000002B1100);
|
||||
b:=int64($FF11813BCCC3B114) div int64($00000000002B1100);
|
||||
|
||||
WriteLn(IntToHex(cc,16));
|
||||
WriteLn(IntToHex(dd,16));
|
||||
WriteLn('FF11813BCCC3B114:00000000002B1100='#9, IntToHex(a,16));
|
||||
WriteLn('FF11813BCCC3B114:00000000002B1100='#9, IntToHex(b,16));
|
||||
|
||||
if a<>b then
|
||||
begin
|
||||
writeln('Failed!');
|
||||
halt(1);
|
||||
end
|
||||
else
|
||||
begin
|
||||
writeln('Passed!');
|
||||
end;
|
||||
End.
|
Loading…
Reference in New Issue
Block a user