From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24676 invoked by alias); 1 May 2013 18:43:13 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 24664 invoked by uid 89); 1 May 2013 18:43:12 -0000 X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_CP autolearn=ham version=3.3.1 Received: from mail-ia0-f176.google.com (HELO mail-ia0-f176.google.com) (209.85.210.176) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 01 May 2013 18:43:11 +0000 Received: by mail-ia0-f176.google.com with SMTP id l27so1592887iae.21 for ; Wed, 01 May 2013 11:43:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:x-gm-message-state; bh=fIGhWMmqAOTMfeG+hoTzNHB+XnmPlMzgP7k2sLZfsmE=; b=FpBOSpgYVSqsudWdCM/Cjxee5TInd6MYO8oS2c/44vujKFzfWnokE+frv9uzaIvJq9 JmHFxiB8JZobwSrGuPtFv1fPnFVl28eozrxW1J4eqlftUWZILlpJVMuWnPlSEI+32ceo Ir8MEhClpCeZfCJqW8U4pcNQL017YfZC1Lnc45Fb7/AJvbYOLvAjggNj+NsfbAoHN0ko UZin3LOXJ1mE2Pat7YyfQvGR0IGBhOY7ybpBJ4ZTQ15uhPnAaA/KsHwZrzob/OaI4X+r J2XuxIzVSqqwabrgiPwsLhderwiCQlq3Pouo3Qy4SumKibZHbgT2HH+qb8z3Nnj0WcMv 41yw== MIME-Version: 1.0 X-Received: by 10.50.153.74 with SMTP id ve10mr13983682igb.1.1367433790236; Wed, 01 May 2013 11:43:10 -0700 (PDT) Received: by 10.64.170.142 with HTTP; Wed, 1 May 2013 11:43:10 -0700 (PDT) In-Reply-To: <20130501170134.265AC2C096@topped-with-meat.com> References: <517FF73E.5020509@linaro.org> <20130430171818.697972C08A@topped-with-meat.com> <20130501170134.265AC2C096@topped-with-meat.com> Date: Wed, 01 May 2013 18:43:00 -0000 Message-ID: Subject: Re: [PATCH, v5] ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC. From: Will Newton To: Roland McGrath Cc: libc-ports@sourceware.org, Patch Tracking Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQnnVThnEbuMqRQ4vDf309qCsHEcZG5c/wgT2hlJF7T+HDO9WjSPCi3vfflVHBgUXrDdurKH X-SW-Source: 2013-05/txt/msg00017.txt.bz2 On 1 May 2013 18:01, Roland McGrath wrote: >> > If __SOFTFP__ is predefined by the compiler, then the compiler is presuming >> > VFP support anyway. So you can make this: >> > >> > #ifdef __SOFTFP__ >> > ldr r1, .Lmemcpy_arm >> > tst r0, #HWCAP_ARM_VFP >> > ldrne r1, .Lmemcpy_vfp >> > #else >> > ldr r1, .Lmemcpy_vfp >> > #endif >> > >> > (and also conditionalize .Lmemcpy_arm, below). >> >> I'm not sure I follow the logic here, could you elaborate? > > I dropped a "not" in my first sentence, which might have been confusing. > The compiler predefines __SOFTFP__ unless it's presuming VFP support. If > __SOFTFP__ is not defined, then the compiler is already generating code > that effectively presumes HWCAP_ARM_VFP will be set, so you might as well > just elide any code testing it at runtime and statically do whatever you > would do if HWCAP_ARM_VFP were set at runtime. Ok, that makes sense. I'll make that change. -- Will Newton Toolchain Working Group, Linaro