This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is this a bug: -mregparm=0 doesn't work with -O3?



Sent from my iPad

On Aug 28, 2013, at 3:15 PM, Wei Li <limijd@gmail.com> wrote:

> I am actually doing some instrumentation on the binary code generated
> by gcc. I did it successfully for class methods and external functions
> but failed on the static functions.

Well that is not supported and is undefined.



> 
> On Wed, Aug 28, 2013 at 3:12 PM,  <pinskia@gmail.com> wrote:
>> 
>> On Aug 28, 2013, at 3:02 PM, Wei Li <limijd@gmail.com> wrote:
>> 
>>> It's a static function. 32bit x86. I tried both gcc4.5.2 and gcc4.7.2,
>>> the behavior is same.
>> 
>> Then this is not a bug.  Why would you care about the abi?  Are you using some inline asm also?
>> 
>> Andrew
>> 
>> 
>> 
>> 
>>> 
>>> On Wed, Aug 28, 2013 at 3:00 PM,  <pinskia@gmail.com> wrote:
>>>> 
>>>> 
>>>> Sent from my iPad
>>>> 
>>>> On Aug 28, 2013, at 2:57 PM, Wei Li <limijd@gmail.com> wrote:
>>>> 
>>>>> Hi,
>>>>> 
>>>>> I am trying to disable pass arguments by register in my project. I
>>>>> suppose -mregparm=0 can do this but unfortunately it doesn't work with
>>>>> -O3. The arguments  are still through registers even I specified
>>>>> -mregparm=0.
>>>>> 
>>>>> I am not sure if this intentional or a bug?  -mregparm is a specific
>>>>> option.  In general the priority should be higher than  -O3 which is a
>>>>> group option, right?
>>>> 
>>>> Is this a static local only function?
>>>> If so then there Is code which changes the abi to use the registers. Also is this 32 or 64 bit x86?
>>>> 
>>>> Thanks,
>>>> Andrew Pinski
>>>> 
>>>>> 
>>>>> Thanks,
>>>>> Wei


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]