Ignored optimization command

Kirk Liberty kirk.liberty@gmail.com
Sun Feb 24 18:08:00 GMT 2013


On Sun, Feb 24, 2013 at 6:10 AM, Jonathan Wakely <jwakely.gcc@gmail.com> 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.

Kirk



More information about the Gcc-help mailing list