From patchwork Wed Sep 18 01:58:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 173932 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp1870822ill; Tue, 17 Sep 2019 18:58:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqxJXsy1RwszPtxcTzLjOcs2KZqSQGT+8V69c/jY354q97ST30NGCtNOVVKojucIxuaqiTna X-Received: by 2002:a17:907:2124:: with SMTP id qo4mr7262914ejb.311.1568771933013; Tue, 17 Sep 2019 18:58:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568771933; cv=none; d=google.com; s=arc-20160816; b=WbejKEHbofybaBzYd+jIyBgKCVyJt3TnTgWrzcWuvKBU8Zbc45IuA5rY4b+a3g+qFX VSjgGs+HB2xy2yBrEu2ENpYAXymWU7W3HjjLpFJqV8wP1Vc8Ijic8s9MVGBvZYpQ+g9F 2qlMbbjJ/TLaS7brsAYL2jExdus48YsQXtMmtkfuFt9n2JcqrgqhhndQgJvjosbqTh0q 0uJLBu6pkgeZGo/IE5YBNUD+KhAEUgXy2/bYfnuqXbEWZUGkHnz8CPkKjKd20nkIdFCt iYMYskend34ZTGQvGltMpPV3TgVOq/giZkVLfxnxjJVKY9D/nxIWE5JPkkZ8cVz+OctP UKjw== 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=d3yhuSAWObdwPGMzVydKVQhvY4RLHDLQyz9FmjRVkY0=; b=xc05riWBJAzN8772cUZn3mv2iwG9Yy0OTNXcvbwfaDDqH6g3ylIaJdivjfS0XssDk1 ev1lgRIu4N/jB8sywpE5sQSSiCh9YQ349aenvhP2FB9WgHNN5En3oL4YDjHMME8wNd2f 5/RIBmkO89OeC1ikmDBtF+dw/X/iXpX1PUp6fqiVfpfxleksgo1FwT9erl4OfoN6UttW AKkVNp+m5IwChMeT/0UWDrd1ICD1xkoCiw1opjRG3ynBWqd0BuZ9HuCF6RQgOB29Pizu 4RdqibnibRY6TRPNXFfWDlE9pNWO6F/r9OrhP50RX+fNJRfsnQ9d754FKJ+I+HSB+dXq WmJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=uYsObqQ1; dkim=pass header.i=@linaro.org header.s=google header.b=DDFQ0Qp6; spf=pass (google.com: domain of gcc-patches-return-509144-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="gcc-patches-return-509144-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 si9si665770ejb.97.2019.09.17.18.58.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Sep 2019 18:58:53 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-509144-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=uYsObqQ1; dkim=pass header.i=@linaro.org header.s=google header.b=DDFQ0Qp6; spf=pass (google.com: domain of gcc-patches-return-509144-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="gcc-patches-return-509144-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=PDuqx2svmzwHM6Vvh16OjY+GN7sdxTlkM2oLVgVCROTl0VZb3W+/e P2J9g+GFJssnRWva3E4WSopIhsIHQC4u43UboOj3dCb29QdDFLc4y0hCKV+2VJuT QaHp3z3WRlcqJ73+5YcOJ7r+yDJw/9iT2RpOiFSWozVnLWqqm8NC6o= 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=tVRqMsS1+XO9Ln3uc0U7Wx5Oi2I=; b=uYsObqQ1/MQlpMrAZzIu emw8IRIL2R3Tc1lsoF0xtK7eHEMhXttOQNuuZKsTCP06tO9sZyL/MY0dRzmm81S8 ALROBD0p+xix7DkUNZGZDIRCgqEAvF4GdDMrXt8p892bmkUGVKFlZRSn/pJtrnNI mEsYJJW44y96KMxLdmN2Fy8= Received: (qmail 120487 invoked by alias); 18 Sep 2019 01:58:26 -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 120474 invoked by uid 89); 18 Sep 2019 01:58:25 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.4 required=5.0 tests=AWL, 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.1 spammy= X-HELO: mail-pl1-f170.google.com Received: from mail-pl1-f170.google.com (HELO mail-pl1-f170.google.com) (209.85.214.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 18 Sep 2019 01:58:24 +0000 Received: by mail-pl1-f170.google.com with SMTP id e5so2350899pls.9 for ; Tue, 17 Sep 2019 18:58:24 -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=d3yhuSAWObdwPGMzVydKVQhvY4RLHDLQyz9FmjRVkY0=; b=DDFQ0Qp6ATET1UR1JZpwwXvRNDjubyWFSMXzofK/JBrdEx+mOf/4JKZPC5XY+OnLbH l6B4FKK2DB0KaFfagv1l3uxh9eRHuLLIIxIQ0Z6aDM/6lx90gfd/58hghJ/SdGMrG1c8 OHL+n9nyLEopG7Af0w+PlQydJCXzUsOd9ful7PbcRk1W5rtnYf+wxR4ZO/Vdk5yD9ghf oa4PrJTbwhKtf8Le9XZs8NcOz0UODfaNkxK2NyxV37yRBrrIe3MGwLX/hj3rnMClgTPy 7TaDCN8PUQFLw9ZakG/FCveo3FWvuAKT0vOt16LSi2phg9HRt2akAi4BAVuLKFaJHmMl Mm8Q== Return-Path: Received: from localhost.localdomain (97-113-7-119.tukw.qwest.net. [97.113.7.119]) by smtp.gmail.com with ESMTPSA id d10sm6614306pfn.50.2019.09.17.18.58.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Sep 2019 18:58:20 -0700 (PDT) From: Richard Henderson To: gcc-patches@gcc.gnu.org Cc: Wilco.Dijkstra@arm.com, kyrylo.tkachov@foss.arm.com, Marcus.Shawcroft@arm.com, James.Greenhalgh@arm.com Subject: [PATCH, AArch64 v4 1/6] aarch64: Extend %R for integer registers Date: Tue, 17 Sep 2019 18:58:12 -0700 Message-Id: <20190918015817.24408-2-richard.henderson@linaro.org> In-Reply-To: <20190918015817.24408-1-richard.henderson@linaro.org> References: <20190918015817.24408-1-richard.henderson@linaro.org> * 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.1 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 232317d4a5a..99d51e2aef9 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -8420,7 +8420,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). @@ -8623,12 +8623,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':