From patchwork Thu Jan 15 01:14:47 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Segher Boessenkool X-Patchwork-Id: 429167 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id C8100140077 for ; Thu, 15 Jan 2015 12:20:16 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; q=dns; s=default; b=ZD4mxjGmwHiO OcVAk6gDTly1ExNigd7lDn9MVqbhH1+wFrxZeUDBKktR80hNCqa53ZyXfIEXT/iB phABzFNpR9f8qKUcureSec7OsaZGnVEF1fMeiDhheCZn4IJAj6pmQfx2SJQkwKOC ify7+qbWoWj4i8kIq2emPlYEi4ifH+E= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; s=default; bh=pKNijQ1RgzHG2/td8z fqcpP8wIQ=; b=Zxh9IrxEpOeW+x9ej0i4mg0tIMGagxpO4kDvakA6dZNIaH4qJe 5Tu94Gbyi7o7ro3vM2MFPzumXOUH6OHRNbVeAoAdnEYKpi8o1IaKDSrWmAhb8dWI fNW7uYc/ZHOEhL+85xSm2Q8WDIIz1dBysUw7RhDsSee201iR08AE7ebY8= Received: (qmail 13266 invoked by alias); 15 Jan 2015 01:19:35 -0000 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 Received: (qmail 12528 invoked by uid 89); 15 Jan 2015 01:15:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: gcc1-power7.osuosl.org Received: from gcc1-power7.osuosl.org (HELO gcc1-power7.osuosl.org) (140.211.15.137) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 15 Jan 2015 01:15:23 +0000 Received: from gcc1-power7.osuosl.org (localhost [127.0.0.1]) by gcc1-power7.osuosl.org (8.14.6/8.14.6) with ESMTP id t0F1FDv9060912; Wed, 14 Jan 2015 17:15:13 -0800 Received: (from segher@localhost) by gcc1-power7.osuosl.org (8.14.6/8.14.6/Submit) id t0F1FBoQ060192; Wed, 14 Jan 2015 17:15:11 -0800 From: Segher Boessenkool To: gcc-patches@gcc.gnu.org Cc: dje.gcc@gmail.com, Segher Boessenkool Subject: [PATCH 1/5] rs6000: Fix PROMOTE_MODE for -m32 -mpowerpc64 Date: Wed, 14 Jan 2015 17:14:47 -0800 Message-Id: X-IsSubscribed: yes UNITS_PER_WORD is 8 with -m32 -mpowerpc64. Promoting items smaller than 8 bytes to 4 bytes doesn't make sense. I tried to fix it the other way around first, promoting everything smaller than UNITS_PER_WORD to word_mode; this fails all over the place, because word_mode is bigger than Pmode. So let's not do that ;-) Okay for mainline? Segher 2015-01-14 Segher Boessenkool gcc/ * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32 -mpowerpc64 is active. --- gcc/config/rs6000/rs6000.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index c55d7ed..ef6bb2f 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -733,7 +733,7 @@ extern unsigned char rs6000_recip_bits[]; #define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE) \ if (GET_MODE_CLASS (MODE) == MODE_INT \ - && GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \ + && GET_MODE_SIZE (MODE) < (TARGET_32BIT ? 4 : 8)) \ (MODE) = TARGET_32BIT ? SImode : DImode; /* Define this if most significant bit is lowest numbered