From patchwork Mon Jun 11 23:06:03 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 164288 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 DB71B1007D1 for ; Tue, 12 Jun 2012 09:06:28 +1000 (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=1340060789; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Mailing-List:Precedence: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=sopzReahhTLnwpLpGhOV9zyAHKQ=; b=y4QkMQQvwTfDhfM 17BolA5sm1G8GbVg8qh0I5jr0RW2QGXgszR5Gg3ZiUTCVbA/S4TgDHVuKxAIZkpF ZJK4gkP7QY4w9m77Kker3AyKDTsYBzr5PPUyDBfOJfqmaAX6Nt7fAOPVPFBaOm7c idyNh7YXh7AmSnZyi6OE0T2ZV64w= 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:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=f5f/NGTaGsqY2wKxUp8ll3ki8UAEowITO10tPNLNI+tRjPZ9XLGWTUW2WMAbHW lCP0NIyA614V/kg7zx80NKo1zcLnem1sLZoOa/8+WzInPX/FYYoyPsAay5Kw4TeB aJNAjKXNZ1ht4gcuhRo38+6K8F5w6VounLeNIJ4RM0tx0=; Received: (qmail 22307 invoked by alias); 11 Jun 2012 23:06:24 -0000 Received: (qmail 22292 invoked by uid 22791); 11 Jun 2012 23:06:24 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, KHOP_THREADED, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, SPF_HELO_PASS, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 11 Jun 2012 23:06:12 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q5BN67w2007412 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 11 Jun 2012 19:06:07 -0400 Received: from pebble.twiddle.home (vpn-10-127.rdu.redhat.com [10.11.10.127]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q5BN65V2016317; Mon, 11 Jun 2012 19:06:06 -0400 Message-ID: <4FD679DB.7010105@redhat.com> Date: Mon, 11 Jun 2012 16:06:03 -0700 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 MIME-Version: 1.0 To: Jay K CC: GCC Patches Subject: Re: constant that doesn't fit in 32bits in alpha.c References: <4FD67990.1080904@redhat.com> In-Reply-To: <4FD67990.1080904@redhat.com> X-IsSubscribed: yes 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 Bah. Wrong patch. r~ * config/alpha/alpha.c (alpha_trampoline_init): Split large constants. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 6d15bf7..3dda9fb 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -5451,6 +5451,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) chain_value = convert_memory_address (Pmode, chain_value); #endif +#define HWI_HEX2(X,Y) (((HOST_WIDE_INT)0x ## X ## u) | 0x ## Y ## u) + if (TARGET_ABI_OPEN_VMS) { const char *fnname; @@ -5468,7 +5470,8 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) the function's procedure descriptor with certain fields zeroed IAW the VMS calling standard. This is stored in the first quadword. */ word1 = force_reg (DImode, gen_const_mem (DImode, fnaddr)); - word1 = expand_and (DImode, word1, GEN_INT (0xffff0fff0000fff0), NULL); + word1 = expand_and (DImode, word1, + GEN_INT (HWI_HEX2(ffff0fff,0000fff0)), NULL); } else { @@ -5479,10 +5482,12 @@ alpha_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) nop We don't bother setting the HINT field of the jump; the nop is merely there for padding. */ - word1 = GEN_INT (0xa77b0010a43b0018); - word2 = GEN_INT (0x47ff041f6bfb0000); + word1 = GEN_INT (HWI_HEX2 (a77b0010,a43b0018)); + word2 = GEN_INT (HWI_HEX2 (47ff041f,6bfb0000)); } +#undef HWI_HEX2 + /* Store the first two words, as computed above. */ mem = adjust_address (m_tramp, DImode, 0); emit_move_insn (mem, word1);