fpc/tests/webtbs/tw2158.pp

42 lines
807 B
ObjectPascal

{ %cpu=i386 }
{ Source provided for Free Pascal Bug Report 2158 }
{ Submitted by "Maxim Voronov" on 2002-10-03 }
{ e-mail: m_v_voronov@mail.ru }
Program test;
{$asmmode intel}
Function GetXminusYintel(x,y : extended):extended; assembler;
asm
fld x
fld y
fsubp st(1),st(0)
end;
{$asmmode att}
Function GetXminusYatt(x,y : extended):extended; assembler;
asm
fld y
fld x
fsubp %st,%st(1)
end;
var
eatt,eintel : extended;
Begin
writeln;
eintel:= GetXminusYintel(2.0,1.0);
writeln(eintel);
eatt:= GetXminusYatt(2.0,1.0);
writeln(eatt);
if eintel<>eatt then
begin
writeln('intel fsubp is not translated properly into fsubrp');
halt(1);
end;
End.