fpc/tests/tbs/tb0322.pp

27 lines
914 B
ObjectPascal

{ %CPU=i386 }
{$IFDEF FPC}
{$ASMMODE INTEL}
{$ENDIF}
{$N+}
FUNCTION Floor(M2:Comp):LONGINT;assembler;
VAR X : COMP;
X2 : LONGINT;
X3 : Double;
s : single;
ASM
FLD QWord Ptr X // Here S_IL must be changed to
// S_FL, i.e. the compiler must generate
// fldl "X" instead of fldq "X" which is wrong
fld X2 // No mem64, so no problem
FLD QWord Ptr X3 // This one goes wrong under AS
FilD QWord Ptr X // This one translates to fildq and is accepted?
fild X2 // No mem64, so no problem
FiLD QWord Ptr X3 // This one translates to fildq and is accepted?
end;
BEGIN
END.