Re: -mtune on intel machine
Re: -mtune on intel machine
- Subject: Re: -mtune on intel machine
- From: Eric Gorr <email@hidden>
- Date: Thu, 21 May 2009 09:47:13 -0400
So, would using 'generic', as opposed to 'none', be an appropriate
selection for the -mtune flag for a Release build?
On May 20, 2009, at 2:22 PM, William H. Schultz wrote:
Apparently, I forgot to hit "reply all" this time, so you were the
only one that received my reply. Oops.
Anyway, I looked again, and that *is* what it says now. It didn't
used to apply to all. The Xcode user interface still reflects this
in that it doesn't show anything for Intel builds. Since Apple
never shipped an Intel CPU older than the original "Core" processor,
it seems to me that specializing on anything less would be a waste
of potential optimizations. The latest two processors listed are
"prescott" and "nocona," which are both versions of the Pentium4,
but "Nocona" was the first x86-64 Intel processor. So, until GCC
(or some other future compiler) is optimzed for a newer processor,
we're stuck with these.
http://en.wikipedia.org/wiki/List_of_Intel_Xeon_microprocessors#.22Nocona.22_.28standard-voltage.2C_90_nm.29
http://en.wikipedia.org/wiki/Pentium_4#Prescott
On May 20, 2009, at 10:19 AM, Eric Gorr wrote:
On May 20, 2009, at 1:00 PM, William H. Schultz wrote:
As I understand it from the GCC man page, mtune does not apply to
an Intel build.
What are you basing this on?
In the −mtune=cpu-type section, it says, for example,
generic
Produce code optimized for the most commonIA32/AMD64/EM64T
processors. If you know the
CPU on which your code will run, then you should use the
corresponding −mtune option instead
of −mtune=generic. But, if you do not knowexactly what CPU users
of your application will
have, then you should use this option.
As newprocessors are deployed in the marketplace, the behavior of
this option will change.
Therefore, if you upgrade to a newer version of GCC, the code
generated option will change to
reflect the processors that were most common when that version of
GCC was released.
There is no−march=generic option because−march indicates the
instruction set the compiler
can use, and there is no generic instruction set applicable to all
processors. In contrast, −mtune
indicates the processor (or, inthis case, collection of processors)
for which the code is optimized.
i686
Same as generic, but when used asmarchoption, PentiumPro
instruction set will be used, so
the code will run on all i686 familly chips.
While the i686 is not in the popup menu in the GUI (bug?), it does
appear to be a valid option.
What am I not understanding?
Try this to open the gcc man page in Preview:
man -t gcc | open -f -a Preview
It makes it a lot more palatable read.
neat trick. thanks.
-------------------------------
Hank Schultz
Cedrus Corporation
http://www.cedrus.com/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden