On 12/12/06, Florian Weimer <fweimer@xxxxxx> wrote:
* Cosimo Streppone: > "-O0" ~ 957 tps > "-O1 -mcpu=pentium4 -mtune=pentium4" ~ 1186 tps > "-O2 -mcpu=pentium4 -mtune=pentium4" ~ 1229 tps > "-O3 -mcpu=pentium4 -mtune=pentium4" ~ 1257 tps > "-O6 -mcpu=pentium4 -mtune=pentium4" ~ 1254 tps -mcpu and -mtune are synonymous. You really should -march here (but the result is non-generic code). Keep in mind that GCC does not contain an instruction scheduler for the Pentium 4s. I also believe that the GCC switches are not fine-grained enough to cover the various Pentium 4 variants. For instance, some chips don't like the CMOV instruction at all, but others can process it with decent speed.
You can use -march=pentium4, -march=prescott and -march=nocona to the different Pentium4 processors. But you have to use -march (and not -mcpu or -mtune) because without it you are still using only i386 instructions. Daniel