isn't
Code:
-march=core2 -mtune=generic
a bit odd. march limits what instructions can be used, and mtune tweaks smaller things like instruction order and optimisation for cache sizes. so:
Code:
-march=i686 -mtune=core2
will optimise for core2, but without doing anything that stop the program working on an older chip. eg fedora 32bit uses:
Code:
-march=i686 -mtune=atom
if you use -march=core2, then it won't run on anything older, so i doubt that the -mtune=generic would do anything useful. http://gcc.gnu.org/onlinedocs/gcc/i3...4-Options.html
also, doesn't ICC have the equivalent of ffast-math on by default?