Currently, the way the native CPU detection code in driver-i386.c
is set up, using -m{arch,tune}=native with an Intel Core Duo (*not
Core 2 Duo*) processor will result in -m{arch,tune}=prescott.  Is this
the correct setting for this chip?  There seems to be a lot of confusion
across the net as to whether a Core Duo (aka Yonah, aka Centrino Duo)
should be using -march=prescott or -march=pentium-m.  Some argue
that because Core chips share a lot more in common with with the P6
microarchitecture than with Netburst, -march=pentium-m should be the
correct choice.  Others (myself included) point out that just because
the design is based on the Pentium M doesn't make it a Pentium M.  One
major argument supporting -march=prescott is that using
-march=pentium-m will greatly prefer using x87 over SSE scalar code,
since the Pentium M sucked at SSE (~30% slower than x87 according to
Intel's Optimization Manual).  Since then, things like improved
decoding and micro-op fusion have made SSE a definite win on Netburst
and Core CPUs.  Some have come to the conclusion that
-march=pentium-m -mfpmath=sse -msse3 is the best solution.

So anyways, should -m{arch,tune}=native be setting pentium-m for Core
CPU's, or is prescott really the better choice in the end?


-- 
                                        by design, by neglect
dirtyepic gentoo org            for a fact or just for effect
9B81 6C9F E791 83BB 3AB3 5B2D E625 A073 8379 37E8 (0x837937E8)

Attachment: signature.asc
Description: PGP signature

Reply via email to