[mad-dev] about FPM_INTEL / ASO_ZEROCHECK

Rob Leslie rob at mars.org
Sat Oct 10 10:58:56 PDT 2009


On Oct 9, 2009, at 4:14 PM, leon deng wrote:
> when I build libmad in different platforms, i found two flags  
> settings are different. I do not understand what those flags are  
> used for, can any expert tell me about it?
> When i build libmad , i first ./configure, and then make.
> when I build it on 32 bits mac and 32 bits centOS,  i have flags
> FPM_INTEL
> ASO_ZEROCHECK
>
> when I build it on 64 bits ubuntu and 64 bits centOS, I have flags
>  FPM_DEFAULT
> In this case, Makefile do not have ASO_ZEROCHECK flag.

Probably they should be the same for 64 bits (amd64) as for 32 bits  
(i386).

FPM_INTEL means to use the x86 assembler instructions for fixed-point  
multiplication.  ASO_ZEROCHECK is an optimization that works well  
under x86 so should be enabled by default.

You could try FPM_64BIT as an alternative.  FPM_DEFAULT should be  
avoided because it provides poor accuracy.

> Another question is about :
> in libmad Makefile, there are lots of optimization flags. are those  
> flags critical and should I also brought them all to  my program?

The optimization flags were hand-picked because at the time they were  
chosen they worked better than e.g. a simple -O2.  They are only  
useful when building libmad and are probably not necessary to  
duplicate for the rest of your program.

-- 
Rob Leslie
rob at mars.org




More information about the mad-dev mailing list