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

2013-08-28 Thread Wei Li
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.

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

2013-08-28 Thread pinskia
Sent from my iPad On Aug 28, 2013, at 2:57 PM, Wei Li lim...@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

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

2013-08-28 Thread Wei Li
It's a static function. 32bit x86. I tried both gcc4.5.2 and gcc4.7.2, the behavior is same. On Wed, Aug 28, 2013 at 3:00 PM, pins...@gmail.com wrote: Sent from my iPad On Aug 28, 2013, at 2:57 PM, Wei Li lim...@gmail.com wrote: Hi, I am trying to disable pass arguments by register in

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

2013-08-28 Thread pinskia
On Aug 28, 2013, at 3:02 PM, Wei Li lim...@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

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

2013-08-28 Thread Wei Li
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. On Wed, Aug 28, 2013 at 3:12 PM, pins...@gmail.com wrote: On Aug 28, 2013, at 3:02 PM, Wei Li lim...@gmail.com wrote:

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

2013-08-28 Thread pinskia
Sent from my iPad On Aug 28, 2013, at 3:15 PM, Wei Li lim...@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