From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zwt6A-0001fQ-JJ for qemu-devel@nongnu.org; Thu, 12 Nov 2015 09:43:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zwt66-0001TM-FH for qemu-devel@nongnu.org; Thu, 12 Nov 2015 09:43:38 -0500 Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]:35079) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zwt66-0001Su-8k for qemu-devel@nongnu.org; Thu, 12 Nov 2015 09:43:34 -0500 Received: by wmdw130 with SMTP id w130so157204698wmd.0 for ; Thu, 12 Nov 2015 06:43:33 -0800 (PST) Sender: Richard Henderson References: <1447123907-26750-1-git-send-email-liang.z.li@intel.com> <1447123907-26750-2-git-send-email-liang.z.li@intel.com> From: Richard Henderson Message-ID: <5644A591.90605@twiddle.net> Date: Thu, 12 Nov 2015 15:43:29 +0100 MIME-Version: 1.0 In-Reply-To: <1447123907-26750-2-git-send-email-liang.z.li@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [v2 1/2] cutils: add avx2 instruction optimization List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Liang Li , qemu-devel@nongnu.org Cc: amit.shah@redhat.com, pbonzini@redhat.com, mst@redhat.com, quintela@redhat.com On 11/10/2015 03:51 AM, Liang Li wrote: > +__asm__(".type can_use_buffer_find_nonzero_offset, \%gnu_indirect_function"); > +__asm__(".type buffer_find_nonzero_offset, \%gnu_indirect_function"); > + > + > +void *can_use_buffer_find_nonzero_offset_ifunc(void) \ > + __asm__("can_use_buffer_find_nonzero_offset"); > + > +void *buffer_find_nonzero_offset_ifunc(void) \ > + __asm__("buffer_find_nonzero_offset"); Not keen on this. You can use the ifunc attribute instead of inline asm, and the target attribute to enable per-function use of avx2. And if neither are supported, due to compiler limitations, I don't think you should attempt to work around that. r~