From: user5857@newsgrouper.org.invalid   
      
   Michael S posted:   
      
   > On Tue, 11 Nov 2025 21:34:08 -0600   
   ------------------   
   > C99 is, may be, too much, but C99 sub/super set known as C11 sounds   
   > about right.   
      
   > Also, I wouldn't consider such project without few extensions of   
   > standard language. As a minimum:   
   > - ability to get upper 64 bit of 64b*64b product   
   hll:   
    {carry, result} = multiplier × multiplicand;   
   asm:   
    CARRY Rc,{{O}}   
    MUL Rr,Rm1,Rm2 // {Rc,Rr} is the 128-bit result   
      
   > - convenient way to exploit 64-bit add with carry   
   hll:   
    {carry, result} = augend + addend;   
   asm:   
    CARRY Rc,{{O}}   
    ADD Rd,Ra1,Ra2   
   or   
   hll:   
    {carry, result} = augend + addend + carry;   
   asm:   
    CARRY Rc,{{IO}}   
    ADD Rd,Ra1,Ra2   
      
   > - MS _BitScanReverse64 or Gnu __builtin_ctzll or equivalen   
      
   asm:   
    CLZ Rd,Rs   
   ---------------------------   
   > Not really.   
   > That is, conversions are not blazingly fast, but still much better   
   > than any attempt to divide in any form of decimal. And helps to   
   > preserve your sanity.   
      
   Are you trying to pull our proverbial leg here ?!?   
      
   > There is also psychological factor at play - your users expect   
   > division and square root to be slower than other primitive FP   
   > operations, so they are not disappointed. Possibly they are even   
   > pleasantly surprised, when they find out that the difference in   
   > throughput between division and multiplication is smaller than factor   
   > 20-30 that they were accustomed to for 'double' on their 20 y.o. Intel   
   > and AMD.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|