On Sun, Feb 24, 2013 at 1:07 PM, Kirk Liberty <kirk.liberty@xxxxxxxxx> wrote: > On Sun, Feb 24, 2013 at 6:10 AM, Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote: >> On 24 February 2013 00:23, Kirk Liberty wrote: >>> Hi all, >>> >>> I'm trying to use g++ to compile a function with optimization O2 >>> except for one function I want at O3. I'm not having any luck with >>> __attribute__ or #pragma. I am using GCC version 4.7.2. With >>> __attribute__ I am getting a warning that the directive was ignored, >>> and with #pragma I am simply not seeing the speedup expected. >> >> Maybe the optimizer simply doesn't make the code any faster. > > When I globally use O3 I see about a 3 times speedup in that function. > >>> Here's what I've tried. >>> bool* getStreamBool(uint64_t num) __attribute__ ((optimize("-O3"))) {...} >> >> I think this should be "O3" or just "3", without the dash. > > I have tried it without the dash, but not without the "O". > I seem to have broken my <cmath> and <random> files so I can't try it right now. > I was able to try it with just "3", I did not notice any difference. > Kirk Kirk