https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116497

--- Comment #17 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Andi Kleen from comment #16)
> Created attachment 59013 [details]
> test case
> 
> This test case using Pinski's clobber trick shows the benefit.
> 
> If you compile with -O2 -mgeneral-regs-only the inc/dec opcodes don't save
> any extra registers and generate nearly optimal code. If you make the
> SAVE_REGS/DONT_SAVE_REGS macros empty they have a lot of extra push/pop,
> which would ruin the interpreter loop.
> 
> -mgeneral-regs-only works for this case, but breaks SSE.

Why is __attribute__((no_caller_saved_registers)) needed on start?

Reply via email to