This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: i386.h fix for 4.0 branch (pr16888 fallout)
- From: Michael Matz <matz at suse dot de>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, James E Wilson <wilson at specifixinc dot com>,Alexandre Oliva <aoliva at redhat dot com>
- Date: Wed, 11 May 2005 17:34:39 +0200 (CEST)
- Subject: Re: i386.h fix for 4.0 branch (pr16888 fallout)
- References: <Pine.LNX.4.58.0505092259540.5916@wotan.suse.de><20050510010901.GC18833@redhat.com>
Hi,
On Mon, 9 May 2005, Richard Henderson wrote:
> On Mon, May 09, 2005 at 11:09:26PM +0200, Michael Matz wrote:
> > 2005-04-28 James E Wilson <wilson@specifixinc.com>
> >
> > * config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment.
> > (ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries.
>
> Ok to backport anywhere you like.
In 4.0 now. In retrospect I actually think that Alexandres change might
not have been such a good idea after all. The problem is, that now you
can't compile anymore programs which do the checking for MMX capability at
runtime, i.e. something like:
if (cpu_supports_mmx()) {
asm do_stuff_with_mmx;
} else {
do_stuff_in_plain_c();
}
like is done in some media code. With Alexandres changes you have to
specify -mmmx (or another option of that effect) now to even compile the
above. The problem being that this activates TARGET_MMX (or _SSE{,2} for
that matter), and hence activates that instruction set also generally,
i.e. potentially on code paths not guarded by the above if written by the
programmer. Hence you are now unable to compile such code which still
runs (slower) on non-mmx/sse capable processors.
Ciao,
Michael.