Re: gcc feature request / RFC: extra clobbered regs

2015-07-01 Thread Vladimir Makarov
On 07/01/2015 01:43 PM, Jakub Jelinek wrote: On Wed, Jul 01, 2015 at 01:35:16PM -0400, Vladimir Makarov wrote: Actually it raise a question for me. If we describe that a function clobbers more than calling convention and then use it as a value (assigning a variable or passing as an argument

Re: gcc feature request / RFC: extra clobbered regs

2015-07-01 Thread Vladimir Makarov
On 07/01/2015 11:27 AM, Andy Lutomirski wrote: On Wed, Jul 1, 2015 at 8:23 AM, Vladimir Makarov wrote: On 06/30/2015 05:37 PM, Jakub Jelinek wrote: On Tue, Jun 30, 2015 at 02:22:33PM -0700, Andy Lutomirski wrote: I'm working on a massive set of cleanups to Linux's syscall ha

Re: gcc feature request / RFC: extra clobbered regs

2015-07-01 Thread Vladimir Makarov
On 07/01/2015 11:31 AM, Jakub Jelinek wrote: On Wed, Jul 01, 2015 at 11:23:17AM -0400, Vladimir Makarov wrote: (I'm not necessarily suggesting that we do this for the syscall bodies themselves. I want to do it for the entry and exit helpers, so we'd still lose the five cycles i

Re: gcc feature request / RFC: extra clobbered regs

2015-07-01 Thread Vladimir Makarov
On 06/30/2015 05:37 PM, Jakub Jelinek wrote: On Tue, Jun 30, 2015 at 02:22:33PM -0700, Andy Lutomirski wrote: I'm working on a massive set of cleanups to Linux's syscall handling. We currently have a nasty optimization in which we don't save rbx, rbp, r12, r13, r14, and r15 on x86_64 before ca

Re: [PATCH] x86: Optimize variable_test_bit()

2015-05-04 Thread Vladimir Makarov
On 02/05/15 08:43 AM, Peter Zijlstra wrote: On Fri, May 01, 2015 at 03:02:24PM -0400, Vladimir Makarov wrote: Currently LRA is used by x86/x86-64, ARM, AARCH64, s390, and MIPS. PPC, SH, and ARC are moving to LRA. All other targets are still reload based. So I could implement the

Re: [PATCH] x86: Optimize variable_test_bit()

2015-05-01 Thread Vladimir Makarov
On 01/05/15 04:49 PM, Linus Torvalds wrote: On Fri, May 1, 2015 at 12:02 PM, Vladimir Makarov wrote: GCC RA is a major reason to prohibit output operands for asm goto. Hmm.. Thinking some more about it, I think that what would actually work really well at least for the kernel is: (a

Re: [PATCH] x86: Optimize variable_test_bit()

2015-05-01 Thread Vladimir Makarov
On 01/05/15 12:33 PM, Jakub Jelinek wrote: On Fri, May 01, 2015 at 09:03:32AM -0700, Linus Torvalds wrote: PPS. Jakub, I see gcc5.1 still hasn't got output operands for asm goto; is this something we can get 'fixed' ? CCing Richard as author of asm goto and Vlad as register allocator ma