X-pop3-spooler: POP3MAIL 2.1.0 b 4 980420 -bs- Message-Id: <3.0.32.19980713140510.00974960@xs4all.nl> X-Sender: diep AT xs4all DOT nl X-Mailer: Windows Eudora Pro Version 3.0 (32) Date: Mon, 13 Jul 1998 14:05:12 +0000 To: Marc Lehmann From: Vincent Diepeveen Subject: Re: please benchmark / MMX #2 Cc: beastium-list AT desk DOT nl Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: Marc Lehmann Status: RO X-Status: A Content-Length: 1970 Lines: 42 At 11:18 AM 7/13/98 +0200, you wrote: >On Fri, Jul 10, 1998 at 03:08:05AM -0500, Dinesh Somasekhar wrote: >> >> Marc, can you tell the list what exactly does the mmx patch do ? Does >> it just use the mmx registers as temp space (at least thats how it looks) >> or does it use mmx compute instructions. > >Look at the patch ;-> currently it uses mmx add/subtract and shift >instructionns on SImodes. these are the only ones mmx has. it also >uses shift instructions for DImode registers. > >There surely is room for some other instructions to be used, but egcs is, at >the moment, unable to use the parallelity available for the mmx instructions >(and I doubt this will ever be the case since the loops must they are quite >specific, the places where we can take advantage of these are quite rare. >Most algorithms must be re-written to be asble to take advantage of mmx, and >I doubt a compiler will go that far in the next years) Is it possible to give the compiler the task to put an entire function optional in MMX? I have some integer critical code (the time critical code of chessprogram) where the biggest part can be done in MMX code. It's just multiplying, shift, AND, OR, addition, decreasing, array lookups and especially compares. Using 8 MMX registers would be rather cool, because i now suffer from those stupid partial register stalls, and even more from the slow branch prediction which does a horrible job on PII, considering that every node requires a new set of patterns that are true. Vincent > -----==- | > ----==-- _ | > ---==---(_)__ __ ____ __ Marc Lehmann +-- > --==---/ / _ \/ // /\ \/ / pcg AT goof DOT com |e| > -=====/_/_//_/\_,_/ /_/\_\ --+ > The choice of a GNU generation | > | > >