home bbs files messages ]

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

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

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

   Message 130,299 of 131,241   
   Anton Ertl to MitchAlsup   
   Re: Multi-precision addition and archite   
   16 Nov 25 14:34:54   
   
   From: anton@mips.complang.tuwien.ac.at   
      
   MitchAlsup  writes:   
   >   
   >Terje Mathisen  posted:   
   >>   (hi, lo) = a*b+c+d   
   >   
   >Alas:: the best CARRY can do is:   
   >   
   >    {hi,c} = a*b+hi   
      
   What latency?   
      
   >> simply because this is the largest possible building block that cannot   
   >> overflow, the result range covers the full 128 bit space.   
      
   With the carry in the result GPR, you could achieve that as follows:   
      
   add   t,c,d   
   umaddc hi,lo,a,b,t   
      
   (or split umaddc into an instruction that produces the low result and   
   one that produces the high result).   
      
   The disadvantage here is that, with d being the hi of the last   
   iteration, you will see the full latency of the add and the umaddh.   
      
   - anton   
   --   
   'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'   
     Mitch Alsup,    
      
   --- 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