In article <2024Apr13.195518@mips.complang.tuwien.ac.at>,   
   Anton Ertl wrote:   
   >I just looked at the floating-point implementations of recent   
   >SwiftForth and VFX (finally present in the system from the start), and   
   >on iForth-5.1-mini (for comparison):   
   >   
   >1 FLOATS .   
   >   
   >reports:   
   >   
   >16 iforth   
   >10 sf64   
   >10 vfx64   
   >   
   >For   
   >   
   >: foo f+ f* ;   
   >   
   >the resulting code is:   
   >   
   >SwiftForth x64-Linux 4.0.0-RC87 24-Mar-2024   
   >: foo f+ f* ; ok   
   >see foo   
   >44E8B9 ST(0) ST(1) FADDP DEC1   
   >44E8BB ST(0) ST(1) FMULP DEC9   
   >44E8BD RET C3 ok   
   >   
   >   
   >VFX Forth 64 5.43 [build 0199] 2023-11-09 for Linux x64   
   >© MicroProcessor Engineering Ltd, 1998-2023   
   >   
   >: foo f+ f* ; ok   
   >see foo   
   >FOO   
   >( 0050A250 DEC1 ) FADDP ST(1), ST   
   >( 0050A252 DEC9 ) FMULP ST(1), ST   
   >( 0050A254 C3 ) RET/NEXT   
   >( 5 bytes, 3 instructions )   
      
   I cut the same corners with ciforth. However I think this   
   cannot be compliant with the IEEE requirement of the standard?   
      
   >- anton   
   --   
   Don't praise the day before the evening. One swallow doesn't make spring.   
   You must not say "hey" before you have crossed the bridge. Don't sell the   
   hide of the bear until you shot it. Better one bird in the hand than ten in   
   the air. First gain is a cat purring. - the Wise from Antrim -   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|