Re: RFC: [PATCH] Add __builtin_ia32_stack_top

2015-07-22 Thread H.J. Lu
On Wed, Jul 22, 2015 at 6:59 AM, H.J. Lu wrote: > On Wed, Jul 22, 2015 at 6:55 AM, Segher Boessenkool > wrote: >> On Wed, Jul 22, 2015 at 05:10:04AM -0700, H.J. Lu wrote: >>> I got a feedback, suggesting __builtin_stack_top, instead of >>> __builtin_ia32_stack_top. But I don't know if >>> >>> +

Re: RFC: [PATCH] Add __builtin_ia32_stack_top

2015-07-22 Thread H.J. Lu
On Wed, Jul 22, 2015 at 6:55 AM, Segher Boessenkool wrote: > On Wed, Jul 22, 2015 at 05:10:04AM -0700, H.J. Lu wrote: >> I got a feedback, suggesting __builtin_stack_top, instead of >> __builtin_ia32_stack_top. But I don't know if >> >> + /* After the prologue, stack top is at -WORD(AP) in t

Re: RFC: [PATCH] Add __builtin_ia32_stack_top

2015-07-22 Thread Segher Boessenkool
On Wed, Jul 22, 2015 at 05:10:04AM -0700, H.J. Lu wrote: > I got a feedback, suggesting __builtin_stack_top, instead of > __builtin_ia32_stack_top. But I don't know if > > + /* After the prologue, stack top is at -WORD(AP) in the current > +frame. */ > + emit_insn (gen_rtx_SET

Re: RFC: [PATCH] Add __builtin_ia32_stack_top

2015-07-22 Thread H.J. Lu
On Tue, Jul 21, 2015 at 2:45 PM, H.J. Lu wrote: > When __builtin_frame_address is used to retrieve the address of the > function stack frame, the frame pointer is always kept, which wastes one > register and 2 instructions. For x86-32, one less register means > significant negative impact on perf

RFC: [PATCH] Add __builtin_ia32_stack_top

2015-07-21 Thread H.J. Lu
When __builtin_frame_address is used to retrieve the address of the function stack frame, the frame pointer is always kept, which wastes one register and 2 instructions. For x86-32, one less register means significant negative impact on performance. This patch adds a new builtin function, __built