Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1398428

Re: [PATCH -v2] x86/hweight: Get rid of the special calling convention

From "H. Peter Anvin" <hpa@zytor.com>
Newsgroups linux.kernel
Subject Re: [PATCH -v2] x86/hweight: Get rid of the special calling convention
Date 2016-05-10 21:10 +0200
Message-ID <rxlcD-uF-29@gated-at.bofh.it> (permalink)
References (6 earlier) <rvbAK-2kO-19@gated-at.bofh.it> <rvrcu-B8-23@gated-at.bofh.it> <rvs8y-1oa-27@gated-at.bofh.it> <rxjaP-6ly-9@gated-at.bofh.it> <rxjDP-75T-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On May 10, 2016 10:23:13 AM PDT, Peter Zijlstra <peterz@infradead.org> wrote:
>On Tue, May 10, 2016 at 06:53:18PM +0200, Borislav Petkov wrote:
>>  static __always_inline unsigned int __arch_hweight32(unsigned int w)
>>  {
>> -	unsigned int res = 0;
>> +	unsigned int res;
>>  
>> -	asm (ALTERNATIVE("call __sw_hweight32", POPCNT32,
>X86_FEATURE_POPCNT)
>> -		     : "="REG_OUT (res)
>> -		     : REG_IN (w));
>> +	if (likely(static_cpu_has(X86_FEATURE_POPCNT))) {
>> +		/* popcnt %eax, %eax */
>> +		asm volatile(POPCNT32
>> +				: "="REG_OUT (res)
>> +				: REG_IN (w));
>>  
>> -	return res;
>> +		return res;
>> +	}
>> +	return __sw_hweight32(w);
>>  }
>
>So what was wrong with using the normal thunk_*.S wrappers for the
>calls? That would allow you to use the alternative() stuff which does
>generate smaller code.

Also, to be fair... if the problem is with these being in C then we could just do it in assembly easily enough.
-- 
Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC PATCH] x86/hweight: Get rid of the special calling convention Borislav Petkov <bp@suse.de> - 2016-05-04 20:50 +0200
  Re: [RFC PATCH] x86/hweight: Get rid of the special calling convention Brian Gerst <brgerst@gmail.com> - 2016-05-04 21:40 +0200
    Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention "H. Peter Anvin" <hpa@zytor.com> - 2016-05-04 21:40 +0200
      Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-04 21:50 +0200
        Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention "H. Peter Anvin" <hpa@zytor.com> - 2016-05-04 22:00 +0200
          Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-04 22:30 +0200
            Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention "H. Peter Anvin" <hpa@zytor.com> - 2016-05-04 23:00 +0200
            Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention Andi Kleen <andi@firstfloor.org> - 2016-05-04 23:20 +0200
            Re: [RFC PATCH] x86/hweight: Get rid of the special calling convention Denys Vlasenko <dvlasenk@redhat.com> - 2016-05-05 15:10 +0200
              Re: [RFC PATCH] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-05 16:10 +0200
                [PATCH -v2] x86/hweight: Get rid of the special calling convention Borislav Petkov <bp@suse.de> - 2016-05-10 19:00 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Peter Zijlstra <peterz@infradead.org> - 2016-05-10 19:30 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling convention "H. Peter Anvin" <hpa@zytor.com> - 2016-05-10 21:10 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-10 21:20 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention "H. Peter Anvin" <hpa@zytor.com> - 2016-05-11 00:40 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-11 06:20 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling convention Brian Gerst <brgerst@gmail.com> - 2016-05-11 13:20 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Peter Zijlstra <peterz@infradead.org> - 2016-05-11 13:30 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-11 14:50 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling convention "H. Peter Anvin" <hpa@zytor.com> - 2016-05-12 07:00 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-12 14:00 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Peter Zijlstra <peterz@infradead.org> - 2016-05-12 14:20 +0200
                Re: [PATCH -v2] x86/hweight: Get rid of the special calling  convention Borislav Petkov <bp@suse.de> - 2016-05-10 21:10 +0200

csiph-web