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
next prev parent 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).