home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,748 of 117,927   
   Anton Ertl to Paul Rubin   
   Re: Avoid treating the stack as an array   
   16 Sep 24 19:55:29   
   
   From: anton@mips.complang.tuwien.ac.at   
      
   Paul Rubin  writes:   
   >mhx@iae.nl (mhx) writes:   
   >> This appears not to be a good idea.  The root cause is piling up too   
   >> many items on the F-stack (exceeding the hardware FPU stack limits).   
   >   
   >I wonder if any Forth compilers use SSE instead of the x86 FPU stack.   
      
   Gforth 0.7.9_20240821   
   [...]   
   see f+   
   Code f+   
   55AF6580BDC1:   add     rbx,$08   
   55AF6580BDC5:   mov     rax,r12   
   55AF6580BDC8:   lea     r12,$08[r12]   
   55AF6580BDCD:   addsd   xmm15,$08[rax]   
   55AF6580BDD3:   mov     rax,[rbx]   
   55AF6580BDD6:   jmp     eax   
      
   VFX Forth 64 5.11 RC2 [build 0112] 2021-05-02 for Linux x64   
   [...]   
   see f+   
   F+   
   ( 004C4100    F2450F584500 )          ADDSD   XMM8, [R13]   
   ( 004C4106    4983C508 )              ADD     R13, # 08   
   ( 004C410A    C3 )                    RET/NEXT   
   ( 11 bytes, 3 instructions )   
      
   But:   
      
   VFX Forth 64 5.43 [build 0199] 2023-11-09 for Linux x64   
   [...]   
   see f+   
   F+   
   ( 00505620    DEC1 )                  FADDP   ST(1), ST   
   ( 00505622    C3 )                    RET/NEXT   
   ( 3 bytes, 2 instructions )   
      
   The customers of VFX preferred the 80-bit floats.   
      
   - anton   
   --   
   M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html   
   comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html   
        New standard: https://forth-standard.org/   
      EuroForth 2024: https://euro.theforth.net   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca