From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 90042 invoked by alias); 14 Aug 2015 14:54:01 -0000 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 Received: (qmail 90029 invoked by uid 89); 14 Aug 2015 14:54:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qk0-f171.google.com Received: from mail-qk0-f171.google.com (HELO mail-qk0-f171.google.com) (209.85.220.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 14 Aug 2015 14:53:58 +0000 Received: by qkdv3 with SMTP id v3so26205437qkd.3 for ; Fri, 14 Aug 2015 07:53:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=HOF6dR4ISko38nf/R8XBjMvy5zA2VLRSCkjceCeD13o=; b=I4JWzOPGYPx6jBffasu0iHawTQqHipMRjUlt3pQb8BCCN96iLQPcaJcncziJspXt20 4N5q2enDKm5fASwx7qSMOaCyzLalISlXTnnJcFhXQAbjCRs2BP98L+cJV6+kfjT5LIBI d1WQTsWOrweoOqyry1GbWZLZnfR0AK6Eqym7ohJm1Ci+gTzHhkxtxDFq6lHJBvqDxlM/ YGPMs3e139v3L0IO0n5XvBEUUpB8/XsFt56uyVTSz8GejkVNoK/qOrSH989xAM8p9gsc UzTzy7P1gAGd1hGBI71F3iyE/bfOEt1FDz/iLAXiP3SxJCchA0+63bYe58qPNf5JUFl9 vuVg== X-Gm-Message-State: ALoCoQlZxgPPCsac+nAxM7NkP6r7FSqk3FaItEChykhZKezdV2aYa4qWknKig+4qj6XhF+I00K9N MIME-Version: 1.0 X-Received: by 10.55.21.199 with SMTP id 68mr77209905qkv.94.1439564036295; Fri, 14 Aug 2015 07:53:56 -0700 (PDT) Received: by 10.140.96.226 with HTTP; Fri, 14 Aug 2015 07:53:56 -0700 (PDT) In-Reply-To: References: <000701cfff29$ea4fbcf0$beef36d0$@arm.com> <54919DF7.4090407@arm.com> <5491B70F.7080209@arm.com> Date: Fri, 14 Aug 2015 15:06:00 -0000 Message-ID: Subject: Re: New patch: [AArch64] [BE] [1/2] Make large opaque integer modes endianness-safe. From: Christophe Lyon To: Tejas Belagod , "gcc-patches@gcc.gnu.org" Cc: Marcus Shawcroft Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-08/txt/msg00796.txt.bz2 On 25 January 2015 at 22:33, Christophe Lyon wrote: > On 17 December 2014 at 18:02, Tejas Belagod wrote: >> On 17/12/14 16:46, Marcus Shawcroft wrote: >>> >>> On 17 December 2014 at 15:15, Tejas Belagod wrote: >>> >>>>> It isn;t clear to me how far through the various BE patches we need to >>>>> get before 59810 is actually resolved? >>>> >>>> >>>> >>>> David's 2 patches >>>> >>>> https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01431.html >>>> https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01099.html >>>> >>>> and Alan's 2 patches: >>>> >>>> https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02797.html >>> >>> >>> OK, thanks, my understanding is that all of the above are now blocked >>> waiting some resolution on this patch to rtlanal.c: >> >> >> I believe so. >> >> Thanks, >> Tejas. >> > > Hi, > If I'm not mistaken, this has been committed as r219959, and is > causing regressions on aarch64_be for several AdvSimd intrinsic tests: > vldX_lane, vtrn, vuzp, vzip, as well as vldN_1 and vstN_1 > > See: > http://abe.tcwglab.linaro.org/logs/validations/cross-validation/gcc/trunk/219959/report-build-info.html > > These tests started passing at the previous commit (r219958) with the > other half of this patch. > > I haven't looked at the details yet. > I've been looking at these failures for some time. I currently have a patch which mostly reverts the one discussed in this thread, and makes the AdvSIMD tests pass. However, it creates regressions in some of the vectorizer tests. When r219959 was committed, I observed that these tests started to pass: gcc.dg/torture/pr52028.c gcc.dg/torture/pr53366-1.c gcc.dg/vect/pr37539.c gcc.dg/vect/pr40074.c gcc.dg/vect/pr51074.c gcc.dg/vect/pr59354.c gcc.dg/vect/pr64252.c gcc.dg/vect/slp-12b.c gcc.dg/vect/slp-19b.c gcc.dg/vect/slp-perm-8.c gcc.dg/vect/slp-perm-9.c gcc.dg/vect/vect-107.c gcc.dg/vect/vect-over-widen-1-big-array.c gcc.dg/vect/vect-over-widen-1.c gcc.dg/vect/vect-over-widen-2-big-array.c gcc.dg/vect/vect-over-widen-2.c gcc.dg/vect/vect-over-widen-3-big-array.c gcc.dg/vect/vect-over-widen-3.c gcc.dg/vect/vect-over-widen-4-big-array.c gcc.dg/vect/vect-over-widen-4.c gcc.dg/vect/vect-strided-store-a-u8-i2.c gcc.dg/vect/vect-strided-store-u16-i4.c gcc.dg/vect/vect-strided-store-u32-i2.c gcc.dg/vect/vect-strided-u16-i3.c I am looking at the pr59354.c testcase, which seems to be one the simplest showing a regression. The vectorizer does a pretty good at generating obfuscated code :-) and I find it quite difficult to debug, given the lack of debug environment. In fact, I still don't understand what r219959 actually fixed. I believe that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59810 is covered by the AdvSIMD tests, which r219959 actually breaks. In summary, I have the feeling that r219959 should be somewhat reverted such that the AdvSIMD tests pass on aarch64_be, but that this would expose a bug related to vectorization. Any advice appreciated. Thanks, Christophe. > Christophe. > >>> >>>> https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01087.html >>> >>> >>> /Marcus >>> >> >>