From patchwork Sat Apr 1 16:48:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Jenner X-Patchwork-Id: 746041 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 3vwPWM6rB4z9ryv for ; Sun, 2 Apr 2017 02:50:39 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="gsrHCHDu"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :subject:to:message-id:date:mime-version:content-type; q=dns; s= default; b=mDQ5TZdR0OuGU0vDHHprd387/GZVKJJFxwPLW+XAVKQUgcXIL12Vb GG1MjlBGSgVPbkdqySg1nRZUP3Uc/aO/TYkj6ocVN6mVksFgerRhtQiHP+XgqZvo vEUQn9/JNA1RwAcmdGv5CldHOwsbEfAb5BwcCpCD6kV2kHBe67HO8c= 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 :subject:to:message-id:date:mime-version:content-type; s= default; bh=OkRrPSlea/hYYzpImXB2oCqrYDw=; b=gsrHCHDuZzLnaCMVf2V5 nLj/nq+J+IXJnlZll3rhICvaK04lg9lSxN/yKtjibFGXckmlZZ6IkgjWEDC+GsLj iwqw1vbgF2qlSPRsf5jwH4kO+xohtlWcAh7ojvnO5SHuHJ3HND72x4XmLQvK2wqL hDtBuA19KzROBZHsrxu5YMs= Received: (qmail 92491 invoked by alias); 1 Apr 2017 16:48:59 -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 92329 invoked by uid 89); 1 Apr 2017 16:48:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= 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; Sat, 01 Apr 2017 16:48:57 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=svr-ies-mbx-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1cuMCv-0004iR-1K from Andrew_Jenner@mentor.com for gcc-patches@gcc.gnu.org; Sat, 01 Apr 2017 09:48:57 -0700 Received: from [IPv6:::1] (137.202.0.87) by svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Sat, 1 Apr 2017 17:48:53 +0100 From: Andrew Jenner Subject: [PATCH 8/9] subreg_get_info To: GCC Patches Message-ID: <856cc263-f65c-73fc-ba05-779e80e27f2e@codesourcery.com> Date: Sat, 1 Apr 2017 17:48:57 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) In the course of working with the ia16 port, I found a case of subreg shape (I think it was a 32-bit value in one 16-bit register and two 8-bit registers) which is not currently supported by subreg_get_info but which easily could be, with the attached change. 2017-04-01 Andrew Jenner * rtlanal.c (subreg_get_info): set info->nregs from hard_regno_nregs. Index: gcc/rtlanal.c =================================================================== --- gcc/rtlanal.c (revision 475331) +++ gcc/rtlanal.c (revision 475455) @@ -3730,7 +3730,7 @@ subreg_get_info (unsigned int xregno, ma rknown = true; } info->offset = (y_offset / (mode_multiple / nregs_multiple)) * nregs_ymode; - info->nregs = nregs_ymode; + info->nregs = hard_regno_nregs[xregno + info->offset][ymode]; } /* This function returns the regno offset of a subreg expression.