From patchwork Mon Dec 6 18:35:25 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joern Rennecke X-Patchwork-Id: 74436 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 9AC7FB6EE8 for ; Tue, 7 Dec 2010 05:35:33 +1100 (EST) Received: (qmail 10315 invoked by alias); 6 Dec 2010 18:35:32 -0000 Received: (qmail 10198 invoked by uid 22791); 6 Dec 2010 18:35:31 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from c60.cesmail.net (HELO c60.cesmail.net) (216.154.195.49) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 06 Dec 2010 18:35:27 +0000 Received: from unknown (HELO epsilon2) ([192.168.1.60]) by c60.cesmail.net with ESMTP; 06 Dec 2010 13:35:25 -0500 Received: from 89.241.159.65 ([89.241.159.65]) by webmail.spamcop.net (Horde MIME library) with HTTP; Mon, 06 Dec 2010 13:35:25 -0500 Message-ID: <20101206133525.2fpyk0i04k08c04g-nzlynne@webmail.spamcop.net> Date: Mon, 06 Dec 2010 13:35:25 -0500 From: Joern Rennecke To: Richard Henderson Cc: gcc-patches@gcc.gnu.org, matt@3am-software.com Subject: Re: RFA (vax): Fix PR46740 References: <20101206122100.yt4xf2wwocog4wco-nzlynne@webmail.spamcop.net> <4CFD1DD6.7060004@redhat.com> In-Reply-To: <4CFD1DD6.7060004@redhat.com> 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 Quoting Richard Henderson : > On 12/06/2010 09:21 AM, Joern Rennecke wrote: >> +#else >> + gcc_assert (hval == 0); > > Does it cause more problems to simply transform that #if > into a normal C if? Nothing in that block looks as if it > would generate a warning on a 64-bit host... Indeed, that builds fine too. Although n could be larger than than 31+26 at runtime, we wouldn't execute the out-of-range shift. 2010-12-06 Joern Rennecke Richard Henderson PR target/46740 * config/vax/vax.c (vax_output_int_move): Fold #if into if. Index: config/vax/vax.c =================================================================== --- config/vax/vax.c (revision 167494) +++ config/vax/vax.c (working copy) @@ -1129,18 +1129,16 @@ vax_output_int_move (rtx insn ATTRIBUTE_ { lval >>= n; -#if HOST_BITS_PER_WIDE_INT == 32 /* On 32bit platforms, if the 6bits didn't overflow into the upper 32bit value that value better be 0. If we have overflowed, make sure it wasn't too much. */ - if (hval != 0) + if (HOST_BITS_PER_WIDE_INT == 32 && hval != 0) { if (n <= 26 || hval >= ((unsigned)1 << (n - 26))) n = 0; /* failure */ else lval |= hval << (32 - n); } -#endif /* If n is 0, then ashq is not the best way to emit this. */ if (n > 0) {