[Vorbis-dev] [patch] libvorbis + gcc4

James Cloos cloos at jhcloos.com
Mon Aug 1 17:48:43 PDT 2005


>>>>> "j" == j  <j at v2v.cc> writes:

j> the question is now which part of -O3(which -O20 is in the end)
j> causes this increase in vorbis and is it a bug in vorbis or in
j> gcc4?

In gcc3 -O3 only adds -finline-functions and -frename-registers
to -O2.  As of gcc 4.0.0 it adds -finline-functions, -funswitch-
loops and -fgcse-after-reload.  

Since inline-functions wasn't causing the problem before gcc4,
it probably isn't now either.  I'd bet on -funswitch-loops.

This is what gcc.info has to say about that option:

,---- -funswitch-loops
|  Move branches with loop invariant conditions out of the loop,
|  with duplicates of the loop on both branches (modified according
|  to result of the condition).
`----

But give each possibility a test compile to see for sure.

Incidently, was there any performance difference between the
resulting binaries?

-JimC
-- 
James H. Cloos, Jr. <cloos at jhcloos.com>


More information about the Vorbis-dev mailing list