www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1998/07/13/23:04:26

X-pop3-spooler: POP3MAIL 2.1.0 b 4 980420 -bs-
Message-ID: <19980714005728.07042@cerebro.laendle>
Date: Tue, 14 Jul 1998 00:57:28 +0200
From: Marc Lehmann <pcg AT goof DOT com>
To: Vincent Diepeveen <diep AT xs4all DOT nl>
Cc: beastium-list AT Desk DOT nl
Subject: Re: please benchmark / MMX #2
Mail-Followup-To: Vincent Diepeveen <diep AT xs4all DOT nl>, beastium-list AT desk DOT nl
References: <3 DOT 0 DOT 32 DOT 19980713140510 DOT 00974960 AT xs4all DOT nl>
Mime-Version: 1.0
In-Reply-To: <3.0.32.19980713140510.00974960@xs4all.nl>; from Vincent Diepeveen on Mon, Jul 13, 1998 at 02:05:12PM +0000
X-Operating-System: Linux version 2.1.108 (root AT cerebro) (gcc version pgcc-2.91.43 19980628 (gcc2 ss-980502 experimental))
Status: RO
Lines: 36

On Mon, Jul 13, 1998 at 02:05:12PM +0000, Vincent Diepeveen wrote:
> 
> Is it possible to give the compiler the task to put an entire function 
> optional in MMX?

I don't understand this sentence (could you re-word)?

> 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.

well, the mmx unit is quite limited in its capabilities. "decreasing" is
non-trivial for example, if you need a constant, the only way to get that
into an mmx register is to load it from a "normal" register or from memory.
"array lookups" are also impossible since you can't use mmx registers in
addressing modes. multiplying isn't possible and so on and so on.

at the moment, the mmx support is quite hacky and doesn't actually
"optimize" very good, but in some cases (and in integer-only programs) it
might win.

> 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.

hmm.. ;->

      -----==-                                              |
      ----==-- _                                            |
      ---==---(_)__  __ ____  __       Marc Lehmann       +--
      --==---/ / _ \/ // /\ \/ /       pcg AT goof DOT com       |e|
      -=====/_/_//_/\_,_/ /_/\_\                          --+
    The choice of a GNU generation                        |
                                                          |

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019