Messages in this thread |  | | | Subject | Re: Kernel GCC Optimizations | | From | Zack Weinberg <> | | Date | Sat, 21 Dec 2002 23:57:12 -0800 |
| |
> > So, let's make it -O6 per default for 2.7.x/3.1.x? > > A higher -O setting does not necessarily mean better performance - > loop unrolling is one compiler optimisation that I *think* is > performed by GCC at high -O settings, and that *often* causes code to > be slower.
In all official releases of GCC, -Ox, x >= 4, has exactly the same effect as -O3. This is unlikely to change anytime soon.
-O3 enables exactly two optimizations relative to -O2: -finline-functions and -frename-registers. This may or may not change in the future. It does *not* enable loop unrolling. -finline-functions is almost always a major performance loss, because it makes the code huge and blows out the I-cache. I'm not familiar with the performance effects of -frename-registers; it might be worth experimenting with just that switch.
zw - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |