On Fri, Dec 01, 2006 at 06:43:46AM -0800, H. J. Lu wrote: > On Fri, Dec 01, 2006 at 03:36:59AM -0600, Ryan Hill wrote: > > 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? > > It should be -march=prescott -mtune=generic. I will look into it.
I opened http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30040 H.J.