public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Ben Combee <bcombee@metrowerks.com>
Cc: gcc@gcc.gnu.org
Subject: Re: MMX regs and GCC
Date: Wed, 08 Sep 1999 13:50:00 -0000	[thread overview]
Message-ID: <37D6CB87.543624ED@pobox.com> (raw)
In-Reply-To: <02cf01befa3a$10bb2560$3404010a@metrowerks.com>

Ben Combee wrote:
> 
> > hmmm.  I have the Pentium Pro databooks, and the quoted text below seems
> > to imply direct moves between general registers are possible.  Since
> > reg<->MMX reg transfers are possible, that seems to imply that loading
> > and using data in MMX registers would be cheaper than loaded data from
> > memory.
> 
> Actually, we have considered adding code to do that to CodeWarrior -- the
> biggest problem is that using MMX registers inteferes with any usage of the
> FP registers, and on some MMX-capable chips, the time to handle a EMMS
> instruction can be quite substancial.  However, if you are already
> generating MMX or 3DNow! code, then spilling a 32-bit value to a MMX
> register is probably just fine, as long as by doing so you aren't causing
> additional spills of MMX registers (the CodeWarrior MMX-3DNow! calling
> convention that we use for 3DNow! optimized code specifies that MM4-MM7 are
> preserved across calls)

What do you think about the case of a program that does little or no
floating point at all?  It seems like that would be an optimal, and
common, case for using MMX registers, while minimized FP context
save/store.  Also I was wondering if it was possible to avoid EMMS by
using 3DNow for 'single' and 'float'.

Thanks,

	Jeff




-- 
Custom driver development	|    Never worry about theory as long
Open source programming		|    as the machinery does what it's
				|    supposed to do.  -- R. A. Heinlein

WARNING: multiple messages have this Message-ID
From: Jeff Garzik <jgarzik@pobox.com>
To: Ben Combee <bcombee@metrowerks.com>
Cc: gcc@gcc.gnu.org
Subject: Re: MMX regs and GCC
Date: Thu, 30 Sep 1999 18:02:00 -0000	[thread overview]
Message-ID: <37D6CB87.543624ED@pobox.com> (raw)
Message-ID: <19990930180200.5eSlnie5uaXA2XoNljMGM2WWAzhiwwCebC7v0jmmUJE@z> (raw)
In-Reply-To: <02cf01befa3a$10bb2560$3404010a@metrowerks.com>

Ben Combee wrote:
> 
> > hmmm.  I have the Pentium Pro databooks, and the quoted text below seems
> > to imply direct moves between general registers are possible.  Since
> > reg<->MMX reg transfers are possible, that seems to imply that loading
> > and using data in MMX registers would be cheaper than loaded data from
> > memory.
> 
> Actually, we have considered adding code to do that to CodeWarrior -- the
> biggest problem is that using MMX registers inteferes with any usage of the
> FP registers, and on some MMX-capable chips, the time to handle a EMMS
> instruction can be quite substancial.  However, if you are already
> generating MMX or 3DNow! code, then spilling a 32-bit value to a MMX
> register is probably just fine, as long as by doing so you aren't causing
> additional spills of MMX registers (the CodeWarrior MMX-3DNow! calling
> convention that we use for 3DNow! optimized code specifies that MM4-MM7 are
> preserved across calls)

What do you think about the case of a program that does little or no
floating point at all?  It seems like that would be an optimal, and
common, case for using MMX registers, while minimized FP context
save/store.  Also I was wondering if it was possible to avoid EMMS by
using 3DNow for 'single' and 'float'.

Thanks,

	Jeff




-- 
Custom driver development	|    Never worry about theory as long
Open source programming		|    as the machinery does what it's
				|    supposed to do.  -- R. A. Heinlein

  reply	other threads:[~1999-09-08 13:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <199909081748.KAA22465@netcom1.netcom.com>
1999-09-08 13:30 ` Jeff Garzik
1999-09-08 13:42   ` Ben Combee
1999-09-08 13:50     ` Jeff Garzik [this message]
1999-09-10  8:24       ` Jamie Lokier
1999-09-30 18:02         ` Jamie Lokier
1999-09-30 18:02       ` Jeff Garzik
1999-09-30 18:02     ` Ben Combee
1999-09-11 16:11   ` Marc Lehmann
1999-09-30 18:02     ` Marc Lehmann
1999-09-30 18:02   ` Jeff Garzik
1999-09-08  2:03 Jeff Garzik
1999-09-30 18:02 ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37D6CB87.543624ED@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=bcombee@metrowerks.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).