On Dienstag, 12. September 2017 23:27:22 CEST Michael Clark wrote: > > On 13 Sep 2017, at 1:57 AM, Wilco Dijkstra <wilco.dijks...@arm.com> wrote: > > > > Hi all, > > > > At the GNU Cauldron I was inspired by several interesting talks about > > improving GCC in various ways. While GCC has many great optimizations, a > > common theme is that its default settings are rather conservative. As a > > result users are required to enable several additional optimizations by > > hand to get good code. Other compilers enable more optimizations at -O2 > > (loop unrolling in LLVM was mentioned repeatedly) which GCC could/should > > do as well. > > There are some nuances to -O2. Please consider -O2 users who wish use it > like Clang/LLVM’s -Os (-O2 without loop vectorisation IIRC). > > Clang/LLVM has an -Os that is like -O2 so adding optimisations that increase > code size can be skipped from -Os without drastically effecting > performance. > > This is not the case with GCC where -Os is a size at all costs optimisation > mode. GCC users option for size not at the expense of speed is to use -O2. > > Clang GCC > -Oz ~= -Os > -Os ~= -O2 > No. Clang's -Os is somewhat limited compared to gcc's, just like the clang -Og is just -O1. AFAIK -Oz is a proprietary Apple clang parameter, and not in clang proper.
'Allan