From patchwork Tue Feb 26 15:29:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joern Rennecke X-Patchwork-Id: 223240 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id DBACC2C00DC for ; Wed, 27 Feb 2013 02:30:10 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1362497411; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Message-ID:Date:From:To:Subject:MIME-Version:Content-Type: Content-Transfer-Encoding:User-Agent:Mailing-List:Precedence: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=JSiuvGOEmAMOQx4PVzuML91hQPQ=; b=y064RcWcgqKE5WK +84othtoJpjkMmlM7oe+5sbDjMLINdzvBq+LDcEI5wP/5iey/L59pogjHp5krzqF yBawpaEGUD3ZwfJeR+wfBtlT7HqR/DMe2iLppmXlJbpo12+kYy7s34gOgvvejMhX 7JTTltf6m+aE5zyQ9Uc07vuZbWxc= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Message-ID:Date:From:To:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:User-Agent:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=YoCxZ8kLJJHLd0JXlNrRDp0LDmEr2xm2uSAwA6U5yTGKKrvZ3rVMEW/nCK571o L5F8GtYbtNymG/uMbuu7nVLpOrFkceJCmOsUrDvN0Ff4P3t5zc6SPX0MNn/BLCdH zk1YlFV4eFrCkID38su1866YaVn+M1+5PdhJSS9Y7Awzo=; Received: (qmail 17578 invoked by alias); 26 Feb 2013 15:29:27 -0000 Received: (qmail 17529 invoked by uid 22791); 26 Feb 2013 15:29:25 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL, BAYES_00, MIME_QP_LONG_LINE X-Spam-Check-By: sourceware.org Received: from c62.cesmail.net (HELO c62.cesmail.net) (216.154.195.54) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 26 Feb 2013 15:29:19 +0000 Received: from unknown (HELO delta2) ([192.168.1.50]) by c62.cesmail.net with ESMTP; 26 Feb 2013 10:29:18 -0500 Received: from cust213-dsl91-135-11.idnet.net (cust213-dsl91-135-11.idnet.net [91.135.11.213]) by webmail.spamcop.net (Horde MIME library) with HTTP; Tue, 26 Feb 2013 10:29:18 -0500 Message-ID: <20130226102918.9uzanx3qgocowogo-nzlynne@webmail.spamcop.net> Date: Tue, 26 Feb 2013 10:29:18 -0500 From: Joern Rennecke To: gcc-patches@gcc.gnu.org Subject: Committed: Fix PR target/54640 MIME-Version: 1.0 User-Agent: Internet Messaging Program (IMP) H3 (4.1.4) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Committed as obvious. 2013-02-26 Joern Rennecke PR target/54640 * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent for HOST_WIDE_INT of 32 bit / same size as int. (arm_block_move_unaligned_straight): Likewise. (arm_adjust_block_mem): Likewise. Index: config/arm/arm.c =================================================================== --- config/arm/arm.c (revision 196254) +++ config/arm/arm.c (working copy) @@ -2607,7 +2607,7 @@ const_ok_for_op (HOST_WIDE_INT i, enum r int const_ok_for_dimode_op (HOST_WIDE_INT i, enum rtx_code code) { - HOST_WIDE_INT hi_val = (i >> 32) & 0xFFFFFFFF; + HOST_WIDE_INT hi_val = (i >> 16 >> 16) & 0xFFFFFFFF; HOST_WIDE_INT lo_val = i & 0xFFFFFFFF; rtx hi = GEN_INT (hi_val); rtx lo = GEN_INT (lo_val); @@ -11347,10 +11347,10 @@ arm_block_move_unaligned_straight (rtx d /* Use hard registers if we have aligned source or destination so we can use load/store multiple with contiguous registers. */ if (dst_aligned || src_aligned) - for (i = 0; i < interleave_factor; i++) + for (i = 0; i < (HOST_WIDE_INT) interleave_factor; i++) regs[i] = gen_rtx_REG (SImode, i); else - for (i = 0; i < interleave_factor; i++) + for (i = 0; i < (HOST_WIDE_INT) interleave_factor; i++) regs[i] = gen_reg_rtx (SImode); dst = copy_addr_to_reg (XEXP (dstbase, 0)); @@ -11362,7 +11362,7 @@ arm_block_move_unaligned_straight (rtx d For copying the last bytes we want to subtract this offset again. */ src_autoinc = dst_autoinc = 0; - for (i = 0; i < interleave_factor; i++) + for (i = 0; i < (HOST_WIDE_INT) interleave_factor; i++) regnos[i] = i; /* Copy BLOCK_SIZE_BYTES chunks. */ @@ -11378,7 +11378,7 @@ arm_block_move_unaligned_straight (rtx d } else { - for (j = 0; j < interleave_factor; j++) + for (j = 0; j < (HOST_WIDE_INT) interleave_factor; j++) { addr = plus_constant (Pmode, src, (srcoffset + j * UNITS_PER_WORD - src_autoinc)); @@ -11398,7 +11398,7 @@ arm_block_move_unaligned_straight (rtx d } else { - for (j = 0; j < interleave_factor; j++) + for (j = 0; j < (HOST_WIDE_INT) interleave_factor; j++) { addr = plus_constant (Pmode, dst, (dstoffset + j * UNITS_PER_WORD - dst_autoinc)); @@ -11417,7 +11417,7 @@ arm_block_move_unaligned_straight (rtx d words = remaining / UNITS_PER_WORD; - gcc_assert (words < interleave_factor); + gcc_assert (words < (HOST_WIDE_INT) interleave_factor); if (src_aligned && words > 1) { @@ -11555,7 +11555,8 @@ arm_adjust_block_mem (rtx mem, HOST_WIDE /* Although the new mem does not refer to a known location, it does keep up to LENGTH bytes of alignment. */ *loop_mem = change_address (mem, BLKmode, *loop_reg); - set_mem_align (*loop_mem, MIN (MEM_ALIGN (mem), length * BITS_PER_UNIT)); + set_mem_align (*loop_mem, + MIN ((HOST_WIDE_INT) MEM_ALIGN (mem), length * BITS_PER_UNIT)); } /* From mips_block_move_loop: