On Wed, Jul 13, 2011 at 10:42:41AM +0200, Richard Guenther wrote: > I suppose generic tuning is of less importance for AVX as > people need to enable that manually anyway (and will possibly > do so only via means of -march=native).
Yeah, but if somebody does compile with -mavx -mtune=generic, I'd expect the intent is that he wants fastest code not just on current generation of CPUs, but on the next few following ones, and I'd say that being able to use twice as big vectorization factor ought to be a win in most cases if the cost model gets it right. If not for the vectorization factor doubling, what would be reasons why somebody would compile code with -mavx -mtune=generic and rule out support for many recent chips? Yeah, there are the > 2 operand forms and such code can avoid penalty when mixed with AVX256 code, but would that be strong reason enough to lose the support of most of the recent CPUs? When targeting just a particular CPU and using -march= with CPU which already includes AVX, -mtune=generic probably doesn't make much sense, you probably want -march=native and you are optimizing for the CPU you have. Jakub