From patchwork Thu Nov 1 21:46:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 149986 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp1308757ljp; Thu, 1 Nov 2018 14:47:08 -0700 (PDT) X-Google-Smtp-Source: AJdET5cfq5xmBvY+fB22re6E7jZJnrnpUVHgU0pbwFrRYtMUGvNWU5NlZQ2+o6T8jkWWCeu1yt/N X-Received: by 2002:a63:d805:: with SMTP id b5-v6mr8530547pgh.174.1541108828084; Thu, 01 Nov 2018 14:47:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541108828; cv=none; d=google.com; s=arc-20160816; b=KyNOM4ScYhbEuyVQYavPMb0W4N8JrEQD9boQliEAqOtYsIih1aRw3T7F7dqQv+i92d pzQ183pAR5z8MTwOfsm9SbeKYyxsyCTblB6TU2n8n7LHa1hWU/7t29FaYPc4ePY6Zeu2 upM2ajUGBU3K0dN3VLGNwLyu2MqRqTbmZzoBc5GVC0DO5oFB6FeoNWe4EqwzoEKJX42X 4m7PCbD3h8eB6jgHxB8TTCXdDYLlCH+6cJ9794m4MgElQlU0fSUyh08uhkdwbkUEsijG fjmhHgkP0RUJ/borbg1RG6iFTk+G3DZ3Tggzbl5MidwRWEVtwb1uyal0XWTGECQnBsdH 6DPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:delivered-to:sender:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature; bh=8+Fjk/l5eUUnteAYsVn+W4u8Yxxe65DhUx95mIsFOx8=; b=wKIdRqQmn3xGq9zFO0eamUB9PmcWuto4fUQFsFpA2glsh2LZZ3Vms0fKH9Di5Z2bor dXRjvGbxkB5pOPt+ktDKeVsy254ksYyq60pwHMpebkL0eqQZH3o/VdRNTyWj4Qi5HNcH YwkXmwbhRA9BstjRNFKhGDPA5g21fodcmi1y1FshVVSBGOABaDG8b/u68H1z8dUpCATF uyLD1UP7Q+lZVLNkSVZf0CGv4eEQeBBff7VGUuEYSkl3CNwS83m3UXZbrm7/pPSY4ji4 U1c9IWd4DAzCSb3Rox7pzM3ytD9iDayt5M0Obk0po2cZGVooVVpkTduh2VtG6RL0BmVv lRTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=cv1LSvvt; dkim=pass header.i=@linaro.org header.s=google header.b="Gb/rgbKi"; spf=pass (google.com: domain of gcc-patches-return-488855-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="gcc-patches-return-488855-patch=linaro.org@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id p13-v6si32256914pgj.399.2018.11.01.14.47.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Nov 2018 14:47:08 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-488855-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=cv1LSvvt; dkim=pass header.i=@linaro.org header.s=google header.b="Gb/rgbKi"; spf=pass (google.com: domain of gcc-patches-return-488855-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="gcc-patches-return-488855-patch=linaro.org@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org 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:in-reply-to:references; q=dns; s= default; b=d+bHDqkghYcGpHd5WSXUPf5nLVB9WhIs0INtiqDn6FaUaF2VRjRDO DH6SX6KNzsbEEM9JSW2PRfFxgGr2gRkioigXtJRVScDxkMk8CRQoXuxwaPyYS6tR LB0HPYiRD5J500pb6MEGGDzOCG/87uhe3BQ0LriwyxZDwb4AIxMwf4= 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:in-reply-to:references; s= default; bh=y3FUNiGihcRzyTW34UQa0D+7ZNw=; b=cv1LSvvtyFtKH391iq3H FQlAb4l7cK/MldstLD7YEA2Cr7kiczZ81raZmk/9+u6UevaEG6uwiDpNDN8aIh1I OzZKHqlS0ua5ws7Di60uEELvHj56NtULegTglnPjhV585ewaTUvPf+fBF75tIfxF MAM0XGWQxpA85Uqlk5GMUBc= Received: (qmail 48644 invoked by alias); 1 Nov 2018 21:46:56 -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 48620 invoked by uid 89); 1 Nov 2018 21:46:55 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:j26-v6s X-HELO: mail-wr1-f66.google.com Received: from mail-wr1-f66.google.com (HELO mail-wr1-f66.google.com) (209.85.221.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 01 Nov 2018 21:46:54 +0000 Received: by mail-wr1-f66.google.com with SMTP id j26-v6so7346655wre.1 for ; Thu, 01 Nov 2018 14:46:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8+Fjk/l5eUUnteAYsVn+W4u8Yxxe65DhUx95mIsFOx8=; b=Gb/rgbKisukBd331+8MVvphOSZkE38yGFIbW8Y+vnee907TzvpwlWbPLG/9UD7G2ZW r+5rbpZ43vFzxpP10XMr4otNRONZMV4XBXRZj68O36x2sZuvcRW3lYzJw5CYS+C4WXPr ihsbjIYS9Uo96VoRgJ+ePGkalKQ91rke9mxD4= Return-Path: Received: from cloudburst.Home ([2a02:c7f:504f:6300:a3de:88d8:75ae:bf4c]) by smtp.gmail.com with ESMTPSA id h18-v6sm21097360wro.0.2018.11.01.14.46.50 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 01 Nov 2018 14:46:51 -0700 (PDT) From: Richard Henderson To: gcc-patches@gcc.gnu.org Cc: ramana.radhakrishnan@arm.com, agraf@suse.de, marcus.shawcroft@arm.com, james.greenhalgh@arm.com, Richard Henderson Subject: [PATCH, AArch64, v3 1/6] aarch64: Extend %R for integer registers Date: Thu, 1 Nov 2018 21:46:43 +0000 Message-Id: <20181101214648.29432-2-richard.henderson@linaro.org> In-Reply-To: <20181101214648.29432-1-richard.henderson@linaro.org> References: <20181101214648.29432-1-richard.henderson@linaro.org> From: Richard Henderson * config/aarch64/aarch64.c (aarch64_print_operand): Allow integer registers with %R. --- gcc/config/aarch64/aarch64.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) -- 2.17.2 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index b44ee40115d..930f27d9bac 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -7102,7 +7102,7 @@ sizetochar (int size) 'S/T/U/V': Print a FP/SIMD register name for a register list. The register printed is the FP/SIMD register name of X + 0/1/2/3 for S/T/U/V. - 'R': Print a scalar FP/SIMD register name + 1. + 'R': Print a scalar Integer/FP/SIMD register name + 1. 'X': Print bottom 16 bits of integer constant in hex. 'w/x': Print a general register name or the zero register (32-bit or 64-bit). @@ -7294,12 +7294,13 @@ aarch64_print_operand (FILE *f, rtx x, int code) break; case 'R': - if (!REG_P (x) || !FP_REGNUM_P (REGNO (x))) - { - output_operand_lossage ("incompatible floating point / vector register operand for '%%%c'", code); - return; - } - asm_fprintf (f, "q%d", REGNO (x) - V0_REGNUM + 1); + if (REG_P (x) && FP_REGNUM_P (REGNO (x))) + asm_fprintf (f, "q%d", REGNO (x) - V0_REGNUM + 1); + else if (REG_P (x) && GP_REGNUM_P (REGNO (x))) + asm_fprintf (f, "x%d", REGNO (x) - R0_REGNUM + 1); + else + output_operand_lossage ("incompatible register operand for '%%%c'", + code); break; case 'X':