From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10844 invoked by alias); 27 Mar 2015 13:04:04 -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 10805 invoked by uid 89); 27 Mar 2015 13:04:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.4 required=5.0 tests=AWL,BAYES_00,MEDICAL_SUBJECT,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 27 Mar 2015 13:04:02 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-03.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1YbTvZ-0000ax-TX from Bernd_Schmidt@mentor.com ; Fri, 27 Mar 2015 06:03:58 -0700 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-03.mgc.mentorg.com (137.202.0.108) with Microsoft SMTP Server id 14.3.224.2; Fri, 27 Mar 2015 13:03:56 +0000 Message-ID: <5515553A.7080303@codesourcery.com> Date: Fri, 27 Mar 2015 13:04:00 -0000 From: Bernd Schmidt User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Chen Gang , Jeff Law CC: gcc-patches List Subject: Re: [PATCH] gcc/config/c6x/c6x.md: Remove "clobber (match_scratch ...)" in "movmisalign_store". References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------050506010709060307030209" X-SW-Source: 2015-03/txt/msg01438.txt.bz2 --------------050506010709060307030209 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-length: 612 On 03/27/2015 01:05 AM, Chen Gang wrote: > For misalignment memory access, c6x gcc will cause issue, so need remove > "clobber (match_scratch ...)" which will be symmetric with "movmisalign > _load", then pass compiling and generate correct assembly code. > > * config/c6x/c6x.md (movmisalign_store): Remove "clobber > (match_scratch ...)". No, that just will make the compiler confuse loads and stores. I've committed the following to fix it (I thought I'd done so a year ago, but probably it was one of those commit against an out-of-date tree situations and it didn't go through). Bernd --------------050506010709060307030209 Content-Type: text/x-patch; name="misalign.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="misalign.diff" Content-length: 789 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e4b6c1..d5535f9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2015-03-27 Bernd Schmidt + * config/c6x/c6x.md (movmisalign): Use MEM_P, not + memory_operand. + PR target/65052 * config/c6x/constraints.md (S3): New constraint. * config/c6x/c6x.md (real_jump): Use it. diff --git a/gcc/config/c6x/c6x.md b/gcc/config/c6x/c6x.md index fafefa6..e957eca 100644 --- a/gcc/config/c6x/c6x.md +++ b/gcc/config/c6x/c6x.md @@ -775,7 +775,7 @@ UNSPEC_MISALIGNED_ACCESS))] "TARGET_INSNS_64" { - if (memory_operand (operands[0], mode)) + if (MEM_P (operands[0])) { emit_insn (gen_movmisalign_store (operands[0], operands[1])); DONE; --------------050506010709060307030209--