From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10213 invoked by alias); 22 Apr 2013 08:27:23 -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 10197 invoked by uid 89); 22 Apr 2013 08:27:21 -0000 X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_CB,TW_CP autolearn=ham version=3.3.1 Received: from mail-ia0-f169.google.com (HELO mail-ia0-f169.google.com) (209.85.210.169) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 22 Apr 2013 08:27:20 +0000 Received: by mail-ia0-f169.google.com with SMTP id l29so3933083iag.0 for ; Mon, 22 Apr 2013 01:27:19 -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=aQF4V6ZuMxyid+0teHPI2YA0G/uOUtsNVdQt911aa2c=; b=QdisibXtM0ndg9opeVKrpYaZZTK7dcTPf61RNM+rXMb8NB76NCXcYF/QKmzgFgJRY5 qYyJnPJ2Js8Z8mxA82qbqYEmUVlLyKA3E7oELBdqNImCVa9E+Ndv8sDlLiJctVgkI7V/ 3OohnWivTgt1MK/z/w302RpbvzTUa6exBbH73lIUajjUAOIBq8WGCk6XKoApqnmpGgse laEoGsRjKiYxPznTUysfT9UWQYTSEeW052EfQrUaV+ZlSWmAa0psOgViENCUexHibJiJ Km1HSKcD9m3pwdrWagb9ttkIUcRoTcNs6GlCz1GqIxkeCBjjrYz6rbPdXodzTg4AWAC8 xlQw== MIME-Version: 1.0 X-Received: by 10.50.154.72 with SMTP id vm8mr15304419igb.1.1366619239350; Mon, 22 Apr 2013 01:27:19 -0700 (PDT) Received: by 10.64.100.174 with HTTP; Mon, 22 Apr 2013 01:27:19 -0700 (PDT) In-Reply-To: References: <516D18F0.4060009@linaro.org> <516EC27E.8080502@twiddle.net> <516FA3CF.8080200@twiddle.net> Date: Mon, 22 Apr 2013 08:27:00 -0000 Message-ID: Subject: Re: [PATCH v2] ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC. From: Will Newton To: Siddhesh Poyarekar Cc: Richard Henderson , libc-ports@sourceware.org, Patch Tracking Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQnj1+a7AYpLyBsmx2PZ22MtuTdxEG/28ugBR2mSuo8hwc3doIV9ENYiGOEvLb+JQm0KI/K/ X-SW-Source: 2013-04/txt/msg00097.txt.bz2 On 18 April 2013 18:58, Siddhesh Poyarekar wrote: Hi Siddesh, > On 18 April 2013 13:55, Siddhesh Poyarekar wrote: >> On 18 April 2013 13:24, Will Newton wrote: >>> Thanks for the offer, I don't have any armv6 hardware to test with. >>> The easiest way to test is probably using the cortex-strings package >>> (as the patch I posted is for armv7). >>> >>> https://launchpad.net/cortex-strings >>> >>> "try-this -t memcpy" will benchmark the code I submitted, "try-glibc >>> -t memcpy" will benchmark the current glibc code. >> >> OK, I'll try to do this tonight (i.e. ~8 hours from now) since the >> board is at home and I'm not. I assume you want 'current glibc code' >> to be master? The distribution version is 2.17 IIRC or at worst 2.16. > > `try-this` crashes with a SIGILL: > > Program received signal SIGILL, Illegal instruction. > memset () at src/linaro-a9/memset.S:64 > 64 cbz r2, 10f @ Exit if 0 length > (gdb) bt > > I don't know much arm assembly, but digging around a bit I found that > cbz is implemented on armv6T2 or later and hence not available on my > board. If you're interested in making this work on armv6 then I can > give this a shot - I've been meaning to start playing with arm > assembly anyway. Thanks for trying this. All the routines in cortex-strings are intended for armv7 (i.e. Cortex-A cores) and it looks like the memset code is being run as a side effect of the test. It might be quite simple to work around or it could involve lots of work! I guess you could always drop in a known armv6 compatible memset e.g. the glibc one. -- Will Newton Toolchain Working Group, Linaro