From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97703 invoked by alias); 6 Sep 2019 10:18:29 -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 97691 invoked by uid 89); 6 Sep 2019 10:18:29 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-10.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 spammy=HContent-Transfer-Encoding:8bit X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.110.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 06 Sep 2019 10:18:27 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7AF9A1570; Fri, 6 Sep 2019 03:18:26 -0700 (PDT) Received: from e120077-lin.cambridge.arm.com (e120077-lin.cambridge.arm.com [10.2.206.91]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7C9853F59C; Fri, 6 Sep 2019 03:18:24 -0700 (PDT) Subject: Re: [PATCHv5] Fix not 8-byte aligned ldrd/strd on ARMv5 (PR 89544) To: Bernd Edlinger , Richard Biener Cc: "gcc-patches@gcc.gnu.org" , Ramana Radhakrishnan , Kyrill Tkachov , Eric Botcazou , Jeff Law , Jakub Jelinek References: From: "Richard Earnshaw (lists)" Message-ID: <7bf6ded5-cada-0ffa-2879-fc87cfae6266@arm.com> Date: Fri, 06 Sep 2019 10:18:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2019-09/txt/msg00350.txt.bz2 On 06/09/2019 11:15, Bernd Edlinger wrote: > On 9/4/19 2:53 PM, Richard Earnshaw (lists) wrote: >> Index: gcc/testsuite/gcc.target/arm/unaligned-argument-2.c >> =================================================================== >> --- gcc/testsuite/gcc.target/arm/unaligned-argument-2.c    (Revision 0) >> +++ gcc/testsuite/gcc.target/arm/unaligned-argument-2.c    (Arbeitskopie) >> @@ -0,0 +1,19 @@ >> +/* { dg-do compile } */ >> +/* { dg-require-effective-target arm_arm_ok } */ >> +/* { dg-require-effective-target arm_ldrd_strd_ok } */ >> +/* { dg-options "-marm -mno-unaligned-access -O3" } */ >> + >> +struct s { >> +  int a, b; >> +} __attribute__((aligned(8))); >> + >> +struct s f0; >> + >> +void f(int a, int b, int c, int d, int e, struct s f) >> +{ >> +  f0 = f; >> +} >> + >> +/* { dg-final { scan-assembler-times "ldrd" 0 } } */ >> +/* { dg-final { scan-assembler-times "strd" 0 } } */ >> +/* { dg-final { scan-assembler-times "stm" 1 } } */ >> >> I don't think this test is right.  While we can't use an LDRD to load the argument off the stack, there's nothing wrong with using an STRD to then store the value to f0 (as that is 8-byte aligned).  So the second and third scan-assembler tests are meaningless. >> >> R. >> >> (sorry, just noticed this). > > So, agreed, that is really likely to change. > I would just remove those, as attached. > > Is that OK for trunk? > > > Thanks > Bernd. > OK. R.