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,187 of 131,241   
   Thomas Koenig to MitchAlsup   
   Re: branch splitting   
   07 Nov 25 06:55:08   
   
   From: tkoenig@netcologne.de   
      
   MitchAlsup  schrieb:   
      
   > After 4 years of looking, we are still waiting for a single function   
   > that needs more than a scaled 16-bit displacement from current IP   
   > {±17-bits} to reach all labels within the function.   
      
   Some people use auto-generated code (for example from computer   
   algebra systems), which generate really, really long procedures.   
   A good stress-test for compilers, too; they tend to expose   
   O(n^2) or worse behavior where nobody looked.  So it is good that   
   branch instructions within functions are expanded by the assembler   
   if needed :-)   
      
   Even having 64-bit offsets like My 66000 can lead into a trap (and will   
   require future optimization work on the compiler).  This is a simplified   
   version of something that came up in a PR.   
      
         SUBROUTINE FOO   
         DOUBLE PRECISION A,B,C,D,E   
         COMMON /A,B,C,D,E/   
   C     very many statements involving A,B,C,D,E   
      
   If you load and store each access to one of the variables via its   
   64-bit access, you can end up using very many 96-bit instructions,   
   where a single load of the base address of the COMMON block would   
   save a lot of code space at the expense of a single instruction   
   at the beginning.   
   --   
   This USENET posting was made without artificial intelligence,   
   artificial impertinence, artificial arrogance, artificial stupidity,   
   artificial flavorings or artificial colorants.   
      
   --- 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