I would like to disable FMA instructions on this platform.
The version of the compiler I'm using is:
--------------------
salk2% gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/packages/gcc-4.5.0/libexec/gcc/ia64-unknown-linux-gnu/4.5.0/lto-wrapper
Target: ia64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local/packages/gcc-4.5.0
--with-gmp=/usr/local/packages/gmp-4.2.3
--with-mpfr=/usr/local/packages/mpfr-2.3.1
--with-mpc=/usr/local/packages/mpc-0.8.1/ : (reconfigured) ../configure
--prefix=/usr/local/packages/gcc-4.5.0
--with-gmp=/usr/local/packages/gmp-4.2.3
--with-mpfr=/usr/local/packages/mpfr-2.3.1
--with-mpc=/usr/local/packages/mpc-0.8.1/
Thread model: posix
gcc version 4.5.0 (GCC)
salk2%
--------------------
However, using the flag documented in the man page does not seem to work as
expected:
--------------------
salk2% gcc -S -mno-fused-madd zfft1d.c
salk2%
salk2% grep fma zfft1d.s
(p6) fma.s1 f10 = f6, f9, f6
(p6) fma.s1 f10 = f10, f9, f10
(p6) fma.s1 f9 = f10, f9, f10
(p6) fma.d.s0 f6 = f7, f9, f10
(p6) fma.s1 f10 = f6, f9, f6
(p6) fma.s1 f10 = f10, f9, f10
(p6) fma.s1 f9 = f10, f9, f10
(p6) fma.d.s0 f6 = f7, f9, f10
(p6) fma.s1 f10 = f6, f9, f6
(p6) fma.s1 f10 = f10, f9, f10
(p6) fma.s1 f9 = f10, f9, f10
(p6) fma.d.s0 f6 = f7, f9, f10
salk2%
--------------------
Can you please let me know what is the best way to disable FMA?
Thanks!