NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: gcc, march and sse

Joel Carnat <> schrieb:
> Hello,
> I read that Slackware Linux compiles most of its packages with
> "-march=i486 -mtune=i686". As far as I understood gcc's manpage, this
> means "keep code compatible with 486 CPU but allow the use pentiumpro
> special features", right ?
> Still from the man page, MMX is supported since "pentium2 (or pentium-mmx
> only)", SSE since "pentium3", SSE2 since "pentium-m", SSE3 since
> "prescott".
> I tweaked my mk.conf to compile pkgsrc (on a domU) using "-O2 -march=486
> -mtune=686" but I'm now wondering if any on those compiled programs will
> use MMX or SSE when running on my laptop or intel-based servers (intel
> core2duo).
> Then second question, in case the previous thought is correct, if I use
> "-march=i486 -mtune=nocona", is there a way to see which instruction the
> program uses ? For example, if I compile xorg/firefox/mplayer and then run
> it in a special manner, can I see that the core2duo uses MMX/SSE*
> instruction while the C3 only use MMX instruction (from the same binary) ?

-march specifies the instruction set the compiler may use; thus, neither MMX
nor SSE will be used. There may be exceptions, however, because some pkgsrc
applications, notably mplayer, choose which instruction set to use at runtime,
so in that case, you wouldn't have to worry about losing a few CPU cycles.

Dennis den Brok

Home | Main Index | Thread Index | Old Index