This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: How to tune gcc for different x86 host and target cpus?
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: Michael Roth <mroth at nessie dot de>
- Cc: gcc-help at gcc dot gnu dot org
- Date: 24 Apr 2004 20:56:17 -0400
- Subject: Re: How to tune gcc for different x86 host and target cpus?
- References: <40890299.1070608@nessie.de>
Michael Roth <mroth@nessie.de> writes:
> as far as I understand, when building gcc, I can use
> --with-arch=pentium to tell configure that the resulting compiler
> should emit code optimized for pentium processors.
>
> But how can I tell the configure script that the compiler itself
> should be optimized for a different cpu architecture?
One way is to set CFLAGS when you compile. The default value for
CFLAGS is "-g -O2" (when compiling with gcc).
> Example #1: Host and build are athlon-xp, target should be pentium.
make CFLAGS="-g -O2 -march=athlon"
> Example #2: Build is pentium4, Host should be pentium-mmx, target
> should be 386.
make CFLAGS="-g -O2 -march=pentium-mmx"
If you really want to optimize the build programs, you can use
CFLAGS_FOR_BUILD=-march=pentium4. That will only affect the time it
takes to build the compiler itself, though, and is unlikely to make
any noticeable difference at that.
> What configure options should I use? (Host, build and target are all
> linux systems, but I think this apply to every system with x86
> processor variants?)
I think that if you set the environment variable CFLAGS when you run
configure, it will be picked up and stored in the Makefile. Try it by
looking at the definition of CFLAGS in the top level Makefile after
you run configure.
Ian