From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14036 invoked by alias); 27 Apr 2012 13:39:09 -0000 Received: (qmail 13954 invoked by uid 22791); 27 Apr 2012 13:39:08 -0000 X-SWARE-Spam-Status: No, hits=-4.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-qa0-f54.google.com (HELO mail-qa0-f54.google.com) (209.85.216.54) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 27 Apr 2012 13:38:54 +0000 Received: by qao25 with SMTP id 25so308090qao.20 for ; Fri, 27 Apr 2012 06:38:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.75.142 with SMTP id y14mr2711796qcj.144.1335533933902; Fri, 27 Apr 2012 06:38:53 -0700 (PDT) Received: by 10.229.136.69 with HTTP; Fri, 27 Apr 2012 06:38:53 -0700 (PDT) In-Reply-To: References: <20120307004630.A503DB21B6@azwildcat.mtv.corp.google.com> Date: Fri, 27 Apr 2012 13:39:00 -0000 Message-ID: Subject: Re: User directed Function Multiversioning via Function Overloading (issue5752064) From: "H.J. Lu" To: Sriraman Tallam Cc: Richard Guenther , Jan Hubicka , Uros Bizjak , reply@codereview.appspotmail.com, gcc-patches@gcc.gnu.org, David Li Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-04/txt/msg01768.txt.bz2 On Thu, Apr 26, 2012 at 10:08 PM, Sriraman Tallam wro= te: > Hi, > > =A0 I have made the following changes in this new patch which is attached: > > * Use target attribute itself to create function versions. > * Handle any number of ISA names and arch=3D =A0args to target attribute, > generating the right dispatchers. > * Integrate with the CPU runtime detection checked in this week. > * Overload resolution: If the caller's target matches any of the > version function's target, then a direct call to the version is > generated, no need to go through the dispatching. > > Patch also available for review here: > http://codereview.appspot.com/5752064 > Does it work with int foo (); int foo () __attribute__ ((targetv("arch=3Dcorei7"))); int (*foo_p) () =3D foo? Does it support C++? Thanks. --=20 H.J.