On Wed, Oct 23, 2002 at 11:51:46AM -0500, Thomas Dodd wrote:
>
>
> 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
Do you have testcase and exact options for this?
$edx = 100*$eax is with -O2 -mcpu=i686:
leal (%eax,%eax,4), %edx
leal (%edx,%edx,4), %edx
sall $2, %edx
for me.
Jakub