------- Comment #1 from dwarak dot rajagopal at amd dot com 2008-11-20 16:48 ------- 1) -msse5 includes -mfma switch (because fma is a part of sse5 instructions). So having "-msse5 -mfma" is same as having just "msse5", though you can just have -fma (without -msse5).
2) "-mavx -msse5" => Yes. This would not make sense since no machine can run this. - Dwarak (In reply to comment #0) > Both Intel FMA and AMD SSE5 support FMA. For -mfma, which enables > Intel FMA and is a dummy at the moment, or -msse5, we will > generate FMA instructions for > > double f; > > void > foo (double x, double y, double z) > { > f = x * y + z; > } > > What FMA should "-mfma -msse5" generate? Also currently, with > "-O2 -mavx -msse5", we generate > > foo: > fmaddsd %xmm2, %xmm1, %xmm0, %xmm0 > vmovsd %xmm0, f(%rip) > ret > > which won't run on any machines. For "-mfma -msse5" and > "-mavx -msse5", > > 1. Should these combinations be allowed? If allowed, > 2. Should the last option turn off the first one? > (In reply to comment #0) > Both Intel FMA and AMD SSE5 support FMA. For -mfma, which enables > Intel FMA and is a dummy at the moment, or -msse5, we will > generate FMA instructions for > > double f; > > void > foo (double x, double y, double z) > { > f = x * y + z; > } > > What FMA should "-mfma -msse5" generate? Also currently, with > "-O2 -mavx -msse5", we generate > > foo: > fmaddsd %xmm2, %xmm1, %xmm0, %xmm0 > vmovsd %xmm0, f(%rip) > ret > > which won't run on any machines. For "-mfma -msse5" and > "-mavx -msse5", > > 1. Should these combinations be allowed? If allowed, > 2. Should the last option turn off the first one? > -- dwarak dot rajagopal at amd dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dwarak dot rajagopal at amd | |dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38201