Subject: Re: mcpu options for AMCC440 with fpu

From: Patrice Bouchand <[email-masked]>
Date: Sat, 24 Feb 2007 07:44:45 +0100

Indeed ! I was waiting for warnings or errors while compiling to tell me
I was doing something wrong but I should not.

 Thanks for your time.

   Patrice

> In message <[email-masked]> you wrote:
> >
> >    I was searching for the best mcpu option for amcc440, compiling and running a small program you can find here: 
> > http://magnux.free.fr/gcc/mandelbrot.c. My distro is a ppc fedora core 6, and results are obviously the same using DENX4.0.
> 
> In general, you should need to meddle much with such options; the ELDK
> default settings are usually OK.
> 
> > --------------------
> > -bash-3.00# gcc -O2 ./mandelbrot.c -o ./mandelbrot && time ./mandelbrot && rm -f ./mandelbrot
> > 
> > real    1m15.059s
> > user    1m14.996s
> > sys     0m0.060s
> > -bash-3.00# gcc -O2 -mcpu=440 ./mandelbrot.c -o ./mandelbrot && time ./mandelbrot && rm -f ./mandelbrot
> > 
> > real    0m39.606s
> > user    0m39.552s
> > sys     0m0.028s
> > -bash-3.00# gcc -O2 -mcpu=440fp ./mandelbrot.c -o ./mandelbrot && time ./mandelbrot && rm -f ./mandelbrot
> > 
> > real    1m15.016s
> > user    1m14.988s
> > sys     0m0.024s
> > -bash-3.00# gcc -O2 -msoft-float ./mandelbrot.c -o ./mandelbrot && time ./mandelbrot && rm -f ./mandelbrot
> > 
> > real    0m39.577s
> > user    0m39.544s
> > sys     0m0.032s
> 
> This looks to me as if you have been runing all these  tests  in  the
> SAME  environment,  probably  the /opt/eldk/ppc_4xx root file system,
> which is soft-float based. You must not do this.
> 
> For tests with FP instructions, you MUST use the  /opt/eldk/ppc_4xxFP
> root  file  system.  For  tests  with  soft-float,  you  MUST use the
> /opt/eldk/ppc_4xx root file system.
> 
> You CANNOT link  an  application  build  with  one  settings  against
> libraries using other settings, or you will run into trouble. You
> would probably have seen the problems if you had used any test where
> the results of the calculations would have been visible.
> 
> 
> > * I do not explain why not using FPU gives better results ?
> 
> Because you did not run the tests you thought yoiu were running.
> 
> > * mcpu option seems to not have any effect ?
> 
> Use "gcc -v" to see exactly which options get passed to the  compiler
> stages.
> 
> > *  My third test was to compile and run mplayer.
> > - With default options (no mcpu specified), my test mpeg was smooth.
> > - With mcpu=440fp, my test mpeg was not smooth.
> > 
> >  Can anybody bring me some lights about the right gcc mcpu option for amcc440 ?
> 
> Just use the  defaults, unless you know exactly what you are doing.
> 
> Best regards,
> 
> Wolfgang Denk
>