Thomas Dodd wrote: > But if most pre i686 CPUS (pre PPro/PII/Athlon) run the i386 code > mix faster than the pentium mix, why not supply the i386 mix. > I woul thing there are more 486s, P/MMX, K5, K6, and Cyrix CPUs > still in use than Pentiums (pre MMX). A test using a simple C source file: -march=i386 -mcpu=i586 and -march=i586 -mcpu=i586 were the same. -march=i386 -mcpu=i586 and -march=i386 -mcpu=i686 had a lot of differences. The instruction mix was very different. -march=i386 -mcpu=i586 and -march=i386 -mcpu=athlon Very different to. -march=i386 -mcpu=i686 was the same as -march=i386 -mcpu=athlon Most interesting to me, The mix is different. example i686 athlon movl -24(%edp), %edx andl -24(%edp), %eax andl %edx, %eax movl %eax, %edx imull $100, %eax, %edx movl %edx, %eax sall $2, %eax addl %edx, %eax leal 0(,%eax,4), %edx addl %edx, %eax leal 0(,%eax,4), %edx That's a large difference to me. 1 instruction instead of 7, that allows better usage of the instruction decoders, and less pressure on the L1 cache, probably L2 as well. Also less register pressure, the first one leave %edx alone, free for other uses. This one file doesn't save much, but by the time you do a full app, it could be a lot. I need a good example app to test with, to see what effect this has in a larger app. -Thomas -- Psyche-list mailing list Psyche-list@redhat.com https://listman.redhat.com/mailman/listinfo/psyche-list