Test suite results for test file tbs/tb0267.pp

Test run data :

Run ID:
Operating system: linux
Processor: mipsel
Version: 3.3.1
Fails/OK/Total: 49/9165/9214
Version: 3.3.1
Full version: 3.3.1-15595-g2e86cdb620
Comment: -ao-xgot -fPIC -XR/home/muller/sys-root/mipsel-linux -Xd -Xr/home/muller/sys-root/mipsel-linux
Machine: cfarm14
Category: 1
SVN revisions: 2e86cdb620:b87e22151a:3f8bbd3b00:902c93f3c3
Submitter: muller
Date: 2024/04/23 11:53:00 <> 2024/04/22
Previous run: 937022
Next run: 938333

Hide skipped tests

Hide successful tests

Test file "tbs/tb0267.pp" information:

t_id 494
t_cpu i386
t_adddate 2003/10/03
t_result 0
t_knownrunerror 0

Detailed test run results:

tr_idruntr_oktr_skiptr_result
460478934937674FalseTrueSkipping test because for other cpu

Record count: 1

No log of 937674.

Source:

{ %CPU=i386 }
{ Old file: tbs0309.pp }
{ problem with ATT assembler written by bin writer     OK 0.99.14 (PFV) }

{ This code was first written by Florian
  to test the GDB output for FPU
  he thought first that FPU output was wrong
  but in fact it is a bug in FPC :( }
program bug0309;

var
   a,b : double;
   _as,bs : single;
   al,bl : extended;
   aw,bw : integer;
   ai,bi : longint;
   ac : comp;
begin
{$ifdef CPU86}
{$asmmode att}
   asm
      fninit;
   end;
   a:=1;
   b:=2;
   asm
      movl  $1,%eax
      fldl  a
      fldl  b
      faddp %st,%st(1)
      fstpl a
   end;
   { the above generates wrong code in binary writer
     fldl is replaced by flds !!
     if using -alt option to force assembler output
     all works correctly PM }
   writeln('a = ',a,' should be 3');
   if a<>3.0 then
     Halt(1);
   a:=1.0;
   a:=a+b;
   writeln('a = ',a,' should be 3');
   _as:=0;
   al:=0;
   asm
     fldl a
     fsts _as
     fstpt al
   end;
   if (_as<>3.0) or (al<>3.0) then
     Halt(1);
   ai:=5;
   bi:=5;
   asm
     fildl ai
     fstpl a
   end;
   if a<>5.0 then
     Halt(1);

   ac:=5;
   asm
     fildl ai
     fstpl a
   end;
   if a<>5.0 then
     Halt(1);
   aw:=-4;
   bw:=45;
   asm
     fildw aw
     fstpl a
   end;
   if a<>-4.0 then
     Halt(1);
   ac:=345;
   asm
     fildq ac
     fstpl a
   end;
   if a<>345.0 then
     Halt(1);

{$endif CPU86}
end.

Link to SVN view of tbs/tb0267.pp source.