cc -march questions

Michael Powell nightrecon at
Fri Sep 4 18:17:28 UTC 2009

Scott Bennett wrote:

>      On Thu, 3 Sep 2009 10:28:09 -0400 Daniel Molina Wegener
>      <dmw at>
> wrote:
>>2009/9/3 Scott Bennett <bennett at>
>>>     What exactly does "cc -march=prescott" enable cc to do?  Does it
>>> include
>>> instruction scheduling for the pipeline structure of the Prescott CPUs?
>>>  Does
>>> it include other options, e.g., "-mmmx -msse -msse2 -msse3"?
>>>     Thanks in advance for any information on the above!
>>According to the GCC manual page, it enables MMX, SSE, SSE2 and SSE3
>>instruction set support.
>>$ man 1 gcc
>      Thanks much for your reply.  This is very bizarre.  I think I've
>      looked
> at that page at least 50 times in the past few years and somehow never saw
> those lines.  Sigh. :-}
>      I've had CPUTYPE=prescott in my /etc/make.conf for a long time now,
> and I recently installed math/atlas-devel.  I wonder if specifying
> CPUTYPE=prescott may have caused it to choose the wrong components to
> include in the final version of libalapack.  If so, then I should rebuild
> it without CPUTYPE=prescott.

If you do: dmesg | grep Features you will get a list of what the processor 
supports. You may then examine the /usr/src/share/mk/ file looking 
for a match. Yes it is somewhat arcane to read, but it does list all.

Notice it refers to CPUTYPE. I usually use a line such as CPUTYPE?= athlon 
in my make.conf. Been doing it like this for years and never had any 
problem. And, of course, let's not forget the MAN pages :-)  YMMV


More information about the freebsd-questions mailing list