From patchwork Wed Feb 12 03:46:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 864427 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1289:b0:385:e875:8a9e with SMTP id f9csp558335wrx; Tue, 11 Feb 2025 19:47:19 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXpY4fURGAAePXjoTKLa/gGsVSY7vTrOfpFHHZtwxgRpEEsQVf1Mi7tW8Cizyf9484u5nDCJw==@linaro.org X-Google-Smtp-Source: AGHT+IFXRvJWWj4ijaOyoG2kSG4zT8VSqJ+w+ZLNZISmP4inQ1o8k3FcgnrEFgiIq3+fvEkdtS77 X-Received: by 2002:a05:620a:8089:b0:7be:8f2a:66a6 with SMTP id af79cd13be357-7c06fc69870mr282042185a.20.1739332039483; Tue, 11 Feb 2025 19:47:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739332039; cv=none; d=google.com; s=arc-20240605; b=iS2Cbixo/cODM2D/w+nIEReFzk1ZvPLKkIPdFs0Wc4rQQFAeNMuuroVZ4YuryFkUsP 4tpUk+jMen4VvGLGfUinQH2f9B0m+pFDrNeGY5omsaezz9U/BIeqU+FlWcIVyvp0jeuk JGbUm7TeY6Wj0stQBPrtdXqJnmFnuD6gSgqOBD0kKp+Q9nc/42mUfKif+Ahf3bNJQjqH /VJ6PH2DL1rw7Lx0d04EudY4NMd3yW7Dd5Y2cKC1RBUy3lVHclJgdGsIVM3F8rokEUhD 9oqpCjHK0nt5JKT8/BF/1/DN37dz299lKWadDzyBV24/1aOi5+wGN9O5Jx+PzMMBCHs5 L+0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=CXJKgQdQFXq80m8+gtIBHT84M5rseemiIRXkZhV+xMo=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=ZjYYj9EsT5lBvm9nghNseyg6xslfwdvforr5sh6iO0feycdchtUd7/cXHKoKjgY7j+ wiLnmKqi9JxAJGbcElbClPQs4/+qx4KpzKq/bjkKVic3ov3DeEj5k3jA3qExCa3JXXoH /0e+WjF44kaGwfNSw2i3q4a0Vm18UCGlvCssuqgTaspCLvzwA7LKvyrTdeJaUmJy9u3m nQLqpLS0KWzwUpAnktkAovsiwhZoZJgXCgg24yzaasOYkWO2bG5Y3GIvvVzBcA6Mx9Sc FvesnfduF22y1lfRXB8XDEXvyyYzrNb8bDktQZE8r8lOJ7Jj0e6ajoLfukBiO1+rBGIN 1ZrQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AOzk0Ttc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c06b5e14cbsi226699685a.502.2025.02.11.19.47.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 19:47:19 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AOzk0Ttc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ti3i7-0000FY-Ql; Tue, 11 Feb 2025 22:46:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ti3hg-00009H-UD for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:26 -0500 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ti3hd-0001Zm-Q0 for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:23 -0500 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-21f6d264221so47784525ad.1 for ; Tue, 11 Feb 2025 19:46:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739331980; x=1739936780; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=CXJKgQdQFXq80m8+gtIBHT84M5rseemiIRXkZhV+xMo=; b=AOzk0TtcYOzWR8/coZovPTD9sv2571SHuOGmUcAHLBqnWUJqTixlghwsK3fZZWylY0 AVSKNnaYbEQlvcpOHlpDj7vrEQU3q38KoTkJqr8upkrUHtqawWu7QFw+Qmf6IkJ7UoXj NkTrTLYbAoZp5+cBxujGHSY2pdPQj41ufHWU3dBwNHYFp2FAxXHF+J4VDAr0b/Dz7MrF oceKqzNGJbYwrOuIQQztVLi1iUtdCiGakTSWPTl7v/+iA6D4HJqM8zehF1RQi1N0pRVZ e/NjDMJ2aJol0puvFuE1larfbAVbiTWU4JV3a3+lIxl15bq31Wsr7jE9g1hx7B4SG9wl 7zCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739331980; x=1739936780; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CXJKgQdQFXq80m8+gtIBHT84M5rseemiIRXkZhV+xMo=; b=pA07HB5iZhXmYaCQEjagYim/Lfa0qDabHfvmb0QUYq1DOlJhYTEi76Y9uu1SM9jUFL oj3WrhmayMsQbr6Jl1X8OOr6GMwtPBkmTBdcGP88HIRh/c6Yp2ar4EeF4GY/mS2J68qy V0IEi+W8/2qPl+JL4JVcY0zMwvti9sC74aVvbjzUWw7ChwmSa6tANQqpROkQ3Mf7rbZi skA6Aq4eQnY3UYiFd9YvJ7UD+F8SjqMXnnSixSHDSdxTPITpN3q58oKTryOdnFfMdAqR aK8tzxW2aYkX87I0wt3HVAICJujiLVxKCAB1+PHezYHC31SIme8Bp+PESjFGS9CMwyuf XjNw== X-Gm-Message-State: AOJu0YyQEzN3qw9xVCniazt0h8rqjwJg519HEuywuNgjbhlfU8llLP8O PYLBiEu/RViJfhSbJ/1Ie6ptFLWzygDuJfeMmGj8xSgkfCjkb13+CoK5x4e9IhxVerCT4rtCJoA 8 X-Gm-Gg: ASbGncsqJcfTLqL+fmC+f0hyCwwaUMMIRtVHTEhmhYSlglhN+s4sjOkYMRY7VrEBFkP zu9qrZz7+PcBJ7//P128J+J9Kg9R9/LjyGzvpSBejjFrUFDG4KXSEvBwVxFrybnV2N1chPK1wcT WCd+k6wi+whH7QIfgZh5Yir9bRmgOlXbAaGo6mxsw14mEI6Y3kNgbO7BrybiY71wE9PXe6Iw5vI iltx0PG7foAbLpBf3RCPmnrrpIf+UmHnyaJ15jOkJLpxuw60qHI8NISdXtxQBEzma/bkEPaWiWx oOAMFojMfrhE8f0tymz7/SaArXFtD5lu3ZBHrgRTuXzw4OA= X-Received: by 2002:a05:6a00:3d03:b0:730:8386:6078 with SMTP id d2e1a72fcca58-7322c0a2ec9mr2857582b3a.0.1739331979793; Tue, 11 Feb 2025 19:46:19 -0800 (PST) Received: from stoup.. (71-212-39-66.tukw.qwest.net. [71.212.39.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-730992eba96sm3482569b3a.126.2025.02.11.19.46.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 19:46:19 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 1/6] tcg: Introduce the 'z' constraint for a hardware zero register Date: Tue, 11 Feb 2025 19:46:12 -0800 Message-ID: <20250212034617.1079324-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250212034617.1079324-1-richard.henderson@linaro.org> References: <20250212034617.1079324-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org For loongarch, mips, riscv and sparc, a zero register is available all the time. For aarch64, register index 31 depends on context: sometimes it is the stack pointer, and sometimes it is the zero register. Introduce a new general-purpose constraint which maps 0 to TCG_REG_ZERO, if defined. This differs from existing constant constraints in that const_arg[*] is recorded as false, indicating that the value is in a register. Signed-off-by: Richard Henderson --- include/tcg/tcg.h | 3 ++- tcg/aarch64/tcg-target.h | 2 ++ tcg/loongarch64/tcg-target.h | 2 ++ tcg/mips/tcg-target.h | 2 ++ tcg/riscv/tcg-target.h | 2 ++ tcg/sparc64/tcg-target.h | 3 ++- tcg/tcg.c | 29 ++++++++++++++++++++++------- docs/devel/tcg-ops.rst | 4 +++- 8 files changed, 37 insertions(+), 10 deletions(-) diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h index 1d1d668f52..84d99508b6 100644 --- a/include/tcg/tcg.h +++ b/include/tcg/tcg.h @@ -713,7 +713,8 @@ void tb_target_set_jmp_target(const TranslationBlock *, int, void tcg_set_frame(TCGContext *s, TCGReg reg, intptr_t start, intptr_t size); -#define TCG_CT_CONST 1 /* any constant of register size */ +#define TCG_CT_CONST 1 /* any constant of register size */ +#define TCG_CT_REG_ZERO 2 /* zero, in TCG_REG_ZERO */ typedef struct TCGArgConstraint { unsigned ct : 16; diff --git a/tcg/aarch64/tcg-target.h b/tcg/aarch64/tcg-target.h index 0dd6e1f069..3f3df5176d 100644 --- a/tcg/aarch64/tcg-target.h +++ b/tcg/aarch64/tcg-target.h @@ -45,6 +45,8 @@ typedef enum { TCG_AREG0 = TCG_REG_X19, } TCGReg; +#define TCG_REG_ZERO TCG_REG_XZR + #define TCG_TARGET_NB_REGS 64 #endif /* AARCH64_TCG_TARGET_H */ diff --git a/tcg/loongarch64/tcg-target.h b/tcg/loongarch64/tcg-target.h index 8533284631..6a206fb97e 100644 --- a/tcg/loongarch64/tcg-target.h +++ b/tcg/loongarch64/tcg-target.h @@ -85,4 +85,6 @@ typedef enum { TCG_VEC_TMP0 = TCG_REG_V23, } TCGReg; +#define TCG_REG_ZERO TCG_REG_ZERO + #endif /* LOONGARCH_TCG_TARGET_H */ diff --git a/tcg/mips/tcg-target.h b/tcg/mips/tcg-target.h index 3090acc4f5..bd4ca5f852 100644 --- a/tcg/mips/tcg-target.h +++ b/tcg/mips/tcg-target.h @@ -70,4 +70,6 @@ typedef enum { TCG_AREG0 = TCG_REG_S8, } TCGReg; +#define TCG_REG_ZERO TCG_REG_ZERO + #endif diff --git a/tcg/riscv/tcg-target.h b/tcg/riscv/tcg-target.h index db5f3d8b72..6dc77d944b 100644 --- a/tcg/riscv/tcg-target.h +++ b/tcg/riscv/tcg-target.h @@ -57,4 +57,6 @@ typedef enum { TCG_REG_TMP2 = TCG_REG_T4, } TCGReg; +#define TCG_REG_ZERO TCG_REG_ZERO + #endif diff --git a/tcg/sparc64/tcg-target.h b/tcg/sparc64/tcg-target.h index f7d75d5806..1b9adccd85 100644 --- a/tcg/sparc64/tcg-target.h +++ b/tcg/sparc64/tcg-target.h @@ -64,6 +64,7 @@ typedef enum { TCG_REG_I7, } TCGReg; -#define TCG_AREG0 TCG_REG_I0 +#define TCG_AREG0 TCG_REG_I0 +#define TCG_REG_ZERO TCG_REG_G0 #endif diff --git a/tcg/tcg.c b/tcg/tcg.c index 57f72b78d4..dc640c6528 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -3229,6 +3229,11 @@ static void process_constraint_sets(void) case 'i': args_ct[i].ct |= TCG_CT_CONST; break; +#ifdef TCG_REG_ZERO + case 'z': + args_ct[i].ct |= TCG_CT_REG_ZERO; + break; +#endif /* Include all of the target-specific constraints. */ @@ -5080,13 +5085,23 @@ static void tcg_reg_alloc_op(TCGContext *s, const TCGOp *op) arg_ct = &args_ct[i]; ts = arg_temp(arg); - if (ts->val_type == TEMP_VAL_CONST - && tcg_target_const_match(ts->val, arg_ct->ct, ts->type, - op_cond, TCGOP_VECE(op))) { - /* constant is OK for instruction */ - const_args[i] = 1; - new_args[i] = ts->val; - continue; + if (ts->val_type == TEMP_VAL_CONST) { +#ifdef TCG_REG_ZERO + if (ts->val == 0 && (arg_ct->ct & TCG_CT_REG_ZERO)) { + /* Hardware zero register: indicate register via non-const. */ + const_args[i] = 0; + new_args[i] = TCG_REG_ZERO; + continue; + } +#endif + + if (tcg_target_const_match(ts->val, arg_ct->ct, ts->type, + op_cond, TCGOP_VECE(op))) { + /* constant is OK for instruction */ + const_args[i] = 1; + new_args[i] = ts->val; + continue; + } } reg = ts->reg; diff --git a/docs/devel/tcg-ops.rst b/docs/devel/tcg-ops.rst index 6608a29376..75acb4bd32 100644 --- a/docs/devel/tcg-ops.rst +++ b/docs/devel/tcg-ops.rst @@ -927,7 +927,9 @@ operation uses a constant input constraint which does not allow all constants, it must also accept registers in order to have a fallback. The constraint '``i``' is defined generically to accept any constant. The constraint '``r``' is not defined generically, but is consistently -used by each backend to indicate all registers. +used by each backend to indicate all registers. If ``TCG_REG_ZERO`` +is defined by the backend, the constraint '``z``' is defined generically +map 0 to the hardware zero register. The movi_i32 and movi_i64 operations must accept any constants. From patchwork Wed Feb 12 03:46:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 864428 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1289:b0:385:e875:8a9e with SMTP id f9csp558383wrx; Tue, 11 Feb 2025 19:47:32 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVeORLq5NH7lTaFMd6aRMf9vq0GihrCwLtryR+69nhoGIQ+nAafuHToXcAxX+1UpwBZ2rL3Sg==@linaro.org X-Google-Smtp-Source: AGHT+IFq6pwJbPBHzDg2I5jx8dX4ZCqZoJIs8xppkKpYM/zpz/bJeBj6D7tnSEOKasJpP9LA8qT2 X-Received: by 2002:a05:6214:1307:b0:6cb:d4ed:aa59 with SMTP id 6a1803df08f44-6e46ed7748amr25230796d6.4.1739332052116; Tue, 11 Feb 2025 19:47:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739332052; cv=none; d=google.com; s=arc-20240605; b=KJeosyQ9g2nJHYPKVp3Rk7aaM54osorGcX7DVHSbdztCgG0VZlZPdDfj6o+AcYJb08 H1sy6lE1ba0T51byLcY5gsq2Y4Lt/rduNUcl5hBpm5jKqdbUlMrvdHHu0oFTkalOzZ4m dg9rNPTyI9eqDWQSLJcizLWdkkQrcE36VI6vH3O1/QTkgBT5l7BuiHengpMi7LYdm9kV OvJ7L7SrhUEQuAoyjdOoiJ3jkIQxyjL0U0TSgZ0KRDkFbLqU9WHj2d+gl+8YEHz5Buok 9GzuHVGsBCp/Ppszbsm/Z/B2TCDNHOm1W5z+V5cvax3vFahvL5nZiluk36Hsnvo0w8FO 9c1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=8GN03SSPW+BnvgJXCFM6j1oZ9exlKICCoE1kSPFtm0A=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=dZ9iJsann8IcMypJ6m9nBCBNCySVCCCcxpThIgWqHISOnHfpU7bMPrRQ6ny2WGmkC6 PYEUOKCs2bulyfXrr8ICsQYg67zaottQycW4lB7F6kRpwOUJ6xaCdIoeUo7fhsu3FxQz Ry7r9akmvQckjm9sVpANz1GKk1yJyyin9KQNqAENVBwsqrWraI7Fi5dkG5lG+axHRPqB 1Csc8jtTPyABVdSY4EFZs5tYS7JvTdGEM0GoZcLSxcCJ6j10qp118q7mvXoWjFhub797 6cOnbzonZl4TZHMHGNGURkf7m5ZxUPc+sbzMNnneCX1n3WYCLyk8lL9/uMw/Ul4KiS1u nYcg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GdkiiIPa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e44ae95c3dsi101625346d6.324.2025.02.11.19.47.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 19:47:32 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GdkiiIPa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ti3iO-0000HR-F6; Tue, 11 Feb 2025 22:47:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ti3hl-0000Aa-36 for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:32 -0500 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ti3he-0001Zz-GJ for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:28 -0500 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-21f55fbb72bso81730175ad.2 for ; Tue, 11 Feb 2025 19:46:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739331981; x=1739936781; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=8GN03SSPW+BnvgJXCFM6j1oZ9exlKICCoE1kSPFtm0A=; b=GdkiiIPaeMaiHXyytiCmxHHBBXEcR30Mr4yjrCbEZ5D/IP7Pw+4eL9SE3lbplUaUig 4GumlnhNgd5BhlHoPFbeCuJkiC7nHbLBsfcr9JSwxfG3EkG2rY2BIFWuKaVC3maN4EVb LAVHLOSps1FCD54a0d3y7VzkEseO9932RcV58ozShLRiVpUOrKh7ih8MWGXrKtDWYaHa Nwf7fkh2hCAJX4HOFHi7Z30xI96n9EmD6dyP9Awr3DgxiMiH0FXsbzBkQnyhiC4t+i8P nrJvtgfc/X+AKBzFZFCRR/Io/ipehBqvsAc80ooSXqCvnOwo8pGV1r+4lQ+ZmReUaCmB 2mUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739331981; x=1739936781; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8GN03SSPW+BnvgJXCFM6j1oZ9exlKICCoE1kSPFtm0A=; b=lUeYpUqpFUb+g+ZYMXaln9QRsNHhpHdGAXEKiNYEiG4OSs6OEuj7YGVPZaB8ymTOdm jfY0ikRlBx2env3N0VkY2z2K8iJ2Ifvds811+S4BwdmF7Vf6aMQslYoIDDH9u0ZQ4c3r JWSRacSC4AUCPVkTPmHnFH61KaMahlf0E05qp1v6ZRQDYMi4UCqzMjaJGr89qZpAfQ/j YxAB/GKe0HnM6sT5nVGqZ/qVMujVeHA8F3EZwPKsp5yxxfMy/WEzOti+bEpYV5RiEdRy Wac212+FtMDmQieOidQJwfKSpw1YvZA/y9juGQHjS4LZZGfSxdcz6VDMtacLnN9B2DeY oYjA== X-Gm-Message-State: AOJu0YztVjnYQxHyqpFMjgS8gzK3UpSj1gnepQPWFl1oamNqqoHZGnEA VI+vTVt1ONEkohOj+w8KL/T9RS9iMW4kZorxkkcTxIAI0wILzRb5rgv6iFpS7SiXNRtMhQa5rhY k X-Gm-Gg: ASbGncvspEkIaUA75GIt99AMq2wA+HiO8QaPfqB+INVpvL9PcIzeGGNNwi2xyTFY+7O vk6s1IDBqNw1dva/2hfq44jO/MLclI4BxxThRiJsys4Khw1yrJU3flX0NRPTgc+bRDlW6RAmvzL NF3chu8rJDl90RN5G5fRJ8FqB/TL+V9kkyBqpCtPDOw6MGkORvdSPTXkKAADxvXwdLdZAknoZUI aImbypP22v4ja9L+fghzknV79/s5eG+B0ktHF3LOrt8wRtN/MumNm28cU7oJhWDRmPLIMADWSaU pvLviibFq+9SdnaES4utqCOKhw/CDQTCtJE/UEsYnACQrR0= X-Received: by 2002:a05:6a00:4286:b0:730:97a6:f06 with SMTP id d2e1a72fcca58-7322c388d3bmr3328201b3a.8.1739331980798; Tue, 11 Feb 2025 19:46:20 -0800 (PST) Received: from stoup.. (71-212-39-66.tukw.qwest.net. [71.212.39.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-730992eba96sm3482569b3a.126.2025.02.11.19.46.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 19:46:20 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 2/6] tcg/aarch64: Use 'z' constraint Date: Tue, 11 Feb 2025 19:46:13 -0800 Message-ID: <20250212034617.1079324-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250212034617.1079324-1-richard.henderson@linaro.org> References: <20250212034617.1079324-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Note that 'Z' is still used for addsub2. Signed-off-by: Richard Henderson --- tcg/aarch64/tcg-target-con-set.h | 12 ++++----- tcg/aarch64/tcg-target.c.inc | 46 ++++++++++++++------------------ 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/tcg/aarch64/tcg-target-con-set.h b/tcg/aarch64/tcg-target-con-set.h index 44fcc1206e..1281e5efc0 100644 --- a/tcg/aarch64/tcg-target-con-set.h +++ b/tcg/aarch64/tcg-target-con-set.h @@ -11,27 +11,27 @@ */ C_O0_I1(r) C_O0_I2(r, rC) -C_O0_I2(rZ, r) +C_O0_I2(rz, r) C_O0_I2(w, r) -C_O0_I3(rZ, rZ, r) +C_O0_I3(rz, rz, r) C_O1_I1(r, r) C_O1_I1(w, r) C_O1_I1(w, w) C_O1_I1(w, wr) -C_O1_I2(r, 0, rZ) +C_O1_I2(r, 0, rz) C_O1_I2(r, r, r) C_O1_I2(r, r, rA) C_O1_I2(r, r, rAL) C_O1_I2(r, r, rC) C_O1_I2(r, r, ri) C_O1_I2(r, r, rL) -C_O1_I2(r, rZ, rZ) +C_O1_I2(r, rz, rz) C_O1_I2(w, 0, w) C_O1_I2(w, w, w) C_O1_I2(w, w, wN) C_O1_I2(w, w, wO) C_O1_I2(w, w, wZ) C_O1_I3(w, w, w, w) -C_O1_I4(r, r, rC, rZ, rZ) +C_O1_I4(r, r, rC, rz, rz) C_O2_I1(r, r, r) -C_O2_I4(r, r, rZ, rZ, rA, rMZ) +C_O2_I4(r, r, rz, rz, rA, rMZ) diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/tcg-target.c.inc index 6f383c1592..4645242d85 100644 --- a/tcg/aarch64/tcg-target.c.inc +++ b/tcg/aarch64/tcg-target.c.inc @@ -2125,10 +2125,6 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, TCGArg a2 = args[2]; int c2 = const_args[2]; - /* Some operands are defined with "rZ" constraint, a register or - the zero register. These need not actually test args[I] == 0. */ -#define REG0(I) (const_args[I] ? TCG_REG_XZR : (TCGReg)args[I]) - switch (opc) { case INDEX_op_goto_ptr: tcg_out_insn(s, 3207, BR, a0); @@ -2171,18 +2167,18 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, case INDEX_op_st8_i32: case INDEX_op_st8_i64: - tcg_out_ldst(s, I3312_STRB, REG0(0), a1, a2, 0); + tcg_out_ldst(s, I3312_STRB, a0, a1, a2, 0); break; case INDEX_op_st16_i32: case INDEX_op_st16_i64: - tcg_out_ldst(s, I3312_STRH, REG0(0), a1, a2, 1); + tcg_out_ldst(s, I3312_STRH, a0, a1, a2, 1); break; case INDEX_op_st_i32: case INDEX_op_st32_i64: - tcg_out_ldst(s, I3312_STRW, REG0(0), a1, a2, 2); + tcg_out_ldst(s, I3312_STRW, a0, a1, a2, 2); break; case INDEX_op_st_i64: - tcg_out_ldst(s, I3312_STRX, REG0(0), a1, a2, 3); + tcg_out_ldst(s, I3312_STRX, a0, a1, a2, 3); break; case INDEX_op_add_i32: @@ -2395,7 +2391,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, /* FALLTHRU */ case INDEX_op_movcond_i64: tcg_out_cmp(s, ext, args[5], a1, a2, c2); - tcg_out_insn(s, 3506, CSEL, ext, a0, REG0(3), REG0(4), args[5]); + tcg_out_insn(s, 3506, CSEL, ext, a0, args[3], args[4], args[5]); break; case INDEX_op_qemu_ld_i32: @@ -2404,13 +2400,13 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, break; case INDEX_op_qemu_st_i32: case INDEX_op_qemu_st_i64: - tcg_out_qemu_st(s, REG0(0), a1, a2, ext); + tcg_out_qemu_st(s, a0, a1, a2, ext); break; case INDEX_op_qemu_ld_i128: tcg_out_qemu_ldst_i128(s, a0, a1, a2, args[3], true); break; case INDEX_op_qemu_st_i128: - tcg_out_qemu_ldst_i128(s, REG0(0), REG0(1), a2, args[3], false); + tcg_out_qemu_ldst_i128(s, a0, a1, a2, args[3], false); break; case INDEX_op_bswap64_i64: @@ -2439,7 +2435,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, case INDEX_op_deposit_i64: case INDEX_op_deposit_i32: - tcg_out_dep(s, ext, a0, REG0(2), args[3], args[4]); + tcg_out_dep(s, ext, a0, a2, args[3], args[4]); break; case INDEX_op_extract_i64: @@ -2459,25 +2455,25 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, case INDEX_op_extract2_i64: case INDEX_op_extract2_i32: - tcg_out_extr(s, ext, a0, REG0(2), REG0(1), args[3]); + tcg_out_extr(s, ext, a0, a2, a1, args[3]); break; case INDEX_op_add2_i32: - tcg_out_addsub2(s, TCG_TYPE_I32, a0, a1, REG0(2), REG0(3), + tcg_out_addsub2(s, TCG_TYPE_I32, a0, a1, a2, args[3], (int32_t)args[4], args[5], const_args[4], const_args[5], false); break; case INDEX_op_add2_i64: - tcg_out_addsub2(s, TCG_TYPE_I64, a0, a1, REG0(2), REG0(3), args[4], + tcg_out_addsub2(s, TCG_TYPE_I64, a0, a1, a2, args[3], args[4], args[5], const_args[4], const_args[5], false); break; case INDEX_op_sub2_i32: - tcg_out_addsub2(s, TCG_TYPE_I32, a0, a1, REG0(2), REG0(3), + tcg_out_addsub2(s, TCG_TYPE_I32, a0, a1, a2, args[3], (int32_t)args[4], args[5], const_args[4], const_args[5], true); break; case INDEX_op_sub2_i64: - tcg_out_addsub2(s, TCG_TYPE_I64, a0, a1, REG0(2), REG0(3), args[4], + tcg_out_addsub2(s, TCG_TYPE_I64, a0, a1, a2, args[3], args[4], args[5], const_args[4], const_args[5], true); break; @@ -2513,8 +2509,6 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext, default: g_assert_not_reached(); } - -#undef REG0 } static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, @@ -3010,7 +3004,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_st16_i64: case INDEX_op_st32_i64: case INDEX_op_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_add_i32: case INDEX_op_add_i64: @@ -3076,7 +3070,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_movcond_i32: case INDEX_op_movcond_i64: - return C_O1_I4(r, r, rC, rZ, rZ); + return C_O1_I4(r, r, rC, rz, rz); case INDEX_op_qemu_ld_i32: case INDEX_op_qemu_ld_i64: @@ -3085,23 +3079,23 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) return C_O2_I1(r, r, r); case INDEX_op_qemu_st_i32: case INDEX_op_qemu_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_qemu_st_i128: - return C_O0_I3(rZ, rZ, r); + return C_O0_I3(rz, rz, r); case INDEX_op_deposit_i32: case INDEX_op_deposit_i64: - return C_O1_I2(r, 0, rZ); + return C_O1_I2(r, 0, rz); case INDEX_op_extract2_i32: case INDEX_op_extract2_i64: - return C_O1_I2(r, rZ, rZ); + return C_O1_I2(r, rz, rz); case INDEX_op_add2_i32: case INDEX_op_add2_i64: case INDEX_op_sub2_i32: case INDEX_op_sub2_i64: - return C_O2_I4(r, r, rZ, rZ, rA, rMZ); + return C_O2_I4(r, r, rz, rz, rA, rMZ); case INDEX_op_add_vec: case INDEX_op_sub_vec: From patchwork Wed Feb 12 03:46:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 864431 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1289:b0:385:e875:8a9e with SMTP id f9csp558494wrx; Tue, 11 Feb 2025 19:48:03 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUaciPZxD4cl7ZKIPCKs80vWBl2H8ji69yPuSxyftKlJ7ETEZUls4Ip4QncSe5iJE0oYRaAYA==@linaro.org X-Google-Smtp-Source: AGHT+IEYXPWz6Qh90jVxZED+9PpPGQLT8VbSTyTtHOhEBpneYPS7o1mzIzK/GfstvA8RNKoW5vyJ X-Received: by 2002:a05:6214:20cc:b0:6d4:2029:ead1 with SMTP id 6a1803df08f44-6e46edad48amr26110236d6.29.1739332083091; Tue, 11 Feb 2025 19:48:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739332083; cv=none; d=google.com; s=arc-20240605; b=kaBDiab36kheDTxjJ8EfVasHlC38GZNl97iqciiQ37h0SxNlvWYH0VgzGbDQzEXVaR fwJOZfAE+XHJzaRnCtZpVqBM9YF2KwsR5kA8ej+AKJUYGpeEQsgxvYCK8bF7zuy8zocG G/yeaYWLZArojZcI5DPQCg/QUMuQAX3SBn77hWkto9o9ZVbpQVSpcju0VPzpdzkE5aW1 aJL3COwmGbw+ecv4V/kWAfESKcn81LHmlt73n/uIBvGJOzhRccRmLVWZeMyySPTFNPYQ zWKnKHPJoSgFbpuvAyneBD9lCSKXdvSfnpRL/9g3ZbDDIocxjtUvawcEphKbuZHrE15Z OHCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=4/sTV3gzpwg9VtQiTqRa4NvbHKKQFG36vUEv1sgUWBQ=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=SwI3c5V3FXOM23ui53561DlIBjY0fg4RgDuSzOfcszTfdbsc0KpU2aitim9F9d2WmJ /RBz0c3gAkRuSPZI3y+/2ujmtfABn23TK4kP3Q/Ov0SS8FaFq8F6wczq+owUWVVixVdp jG0mwlrljEA6FEfjpXrTvSNuEGvvZraO1NCikmjevZoWRleQID7vtqbn3EyYCPYGW02o iIk0UGWlAMRzyVfVX0eZ5bbcs/E3hA9hPIz/SecLJ+Hey6avGwJXFGItyBbPLi3yNCet d5pFBt9LhtVKvco6tfebP72Jvon6CHDb278xKof/s9tkMkd6uay7m00ypVh5x4Gh+DrY C1RQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LjSrkJTh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6e44b81a162si103622826d6.439.2025.02.11.19.48.02 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 19:48:03 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LjSrkJTh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ti3iW-0000NL-Bb; Tue, 11 Feb 2025 22:47:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ti3hh-00009I-4X for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:26 -0500 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ti3hf-0001a1-5a for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:24 -0500 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-21f48ab13d5so106303415ad.0 for ; Tue, 11 Feb 2025 19:46:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739331981; x=1739936781; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=4/sTV3gzpwg9VtQiTqRa4NvbHKKQFG36vUEv1sgUWBQ=; b=LjSrkJTh2MXC5eMhyXtk5kca1B6TAFaL+UKwMuki2wYmuw4T0PNVQc7uZo+CnS9uy3 M06rNfmDe66zf+u2r9HGBeyOrXURxOc6EsAocA7xUKu3gX4pZQRhJAj1VqaNJPAODnqz 19qqO7nvhHSW+O+qkZ4hskJvpg/NBKfxOfFSw/ILuVfZB7xzZI1PdxSmiCNUL0Kyrg+u opZJrFkxfcUIdjUoLcn501T+6s14kze4NB5NZ+U3dGTZFlZy1J4yOkoEVY82wGlACFvN Yf5s3YK+VIP64MR/uftEWEO1dH+KqBZiVZfVJV7U4ncsEQ6euDj/ZITGdIQdMQVRhuyk U1yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739331981; x=1739936781; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4/sTV3gzpwg9VtQiTqRa4NvbHKKQFG36vUEv1sgUWBQ=; b=lhiSneMCxg0PaHr+baHxVbAW3Bf8uEVMQ3oNGa+vf5JGORLh1wXWpjh+mPlTGreBNT Go33ImG7HWFviIMOhGHTVhtU0BZXEmxoRiIX0UM4dqCGWG63YahDF09SdgMYbUet76vK 1B8efdo3CPs5TrqQUFbP/f+NLBdg764/yi2lg0nV9A39foamrE1nhx3cNmBzM2wa4Ltx asGHigReT6ZsoB+8X/F/FcTh94UBIOTCW3znlwLkbksdGkQ5RacQr8g8tj0Dcsk/GsgS QTO8i36iKKGyxOZf2hHjWHhq+Kusk7Ne8fW5up1f1A5SqlnyNuEwr1IQNnfh+/fIttAC OAJw== X-Gm-Message-State: AOJu0YyBnbMtW2c9n+SW1rqgb+jrrW0W5ZT9RDd2NK6DS6ADA4fx5lAt StyVFOWl747sin9s8Dpj/x4IOOK2ioybG+28k4Y806arOvQsXFtSscf+6XdULl7b54qkyvi/er+ L X-Gm-Gg: ASbGnctz261RZ8bS1qISURKg9Fc0Y7/X4ESHCGeaCqbYHTH5/cYBU6zned+0FklCVqu KEgcmeg7wa5Ihi9bKlJo+g0hbYkqbrCoNOKpJ2866W1scQxN3ktUzuRcIwZexJnJPD840NlY41T d4ftmiwFsOKen6e+kNjSC5leQSHN4jRom1aZANQAnGLOE34Z/KJv2/ZhZd/JcdOd3Dvk8r5NWqw W4muGZgjR83cStuaNl6Wh/V6E75ZEJaS/Z1bbFDKdaqe59PyDVuPDHb4KnB0U1/lSPx63yDgqDL MOZSg4Ff26gTaVv5VW0XeoZBFJZCSXm4IETxbCDyQ6Z2dQk= X-Received: by 2002:a05:6a21:9f17:b0:1e1:a716:316a with SMTP id adf61e73a8af0-1ee5c738df0mr2756180637.10.1739331981427; Tue, 11 Feb 2025 19:46:21 -0800 (PST) Received: from stoup.. (71-212-39-66.tukw.qwest.net. [71.212.39.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-730992eba96sm3482569b3a.126.2025.02.11.19.46.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 19:46:21 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 3/6] tcg/loongarch64: Use 'z' constraint Date: Tue, 11 Feb 2025 19:46:14 -0800 Message-ID: <20250212034617.1079324-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250212034617.1079324-1-richard.henderson@linaro.org> References: <20250212034617.1079324-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Replace target-specific 'Z' with generic 'z'. Signed-off-by: Richard Henderson --- tcg/loongarch64/tcg-target-con-set.h | 15 ++++++------- tcg/loongarch64/tcg-target-con-str.h | 1 - tcg/loongarch64/tcg-target.c.inc | 32 ++++++++++++---------------- 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/tcg/loongarch64/tcg-target-con-set.h b/tcg/loongarch64/tcg-target-con-set.h index cae6c2aad6..8afaee9476 100644 --- a/tcg/loongarch64/tcg-target-con-set.h +++ b/tcg/loongarch64/tcg-target-con-set.h @@ -15,8 +15,8 @@ * tcg-target-con-str.h; the constraint combination is inclusive or. */ C_O0_I1(r) -C_O0_I2(rZ, r) -C_O0_I2(rZ, rZ) +C_O0_I2(rz, r) +C_O0_I2(rz, rz) C_O0_I2(w, r) C_O0_I3(r, r, r) C_O1_I1(r, r) @@ -28,14 +28,13 @@ C_O1_I2(r, r, rI) C_O1_I2(r, r, rJ) C_O1_I2(r, r, rU) C_O1_I2(r, r, rW) -C_O1_I2(r, r, rZ) -C_O1_I2(r, 0, rZ) -C_O1_I2(r, rZ, ri) -C_O1_I2(r, rZ, rJ) -C_O1_I2(r, rZ, rZ) +C_O1_I2(r, 0, rz) +C_O1_I2(r, rz, ri) +C_O1_I2(r, rz, rJ) +C_O1_I2(r, rz, rz) C_O1_I2(w, w, w) C_O1_I2(w, w, wM) C_O1_I2(w, w, wA) C_O1_I3(w, w, w, w) -C_O1_I4(r, rZ, rJ, rZ, rZ) +C_O1_I4(r, rz, rJ, rz, rz) C_N2_I1(r, r, r) diff --git a/tcg/loongarch64/tcg-target-con-str.h b/tcg/loongarch64/tcg-target-con-str.h index 2ba9c135ac..99759120b4 100644 --- a/tcg/loongarch64/tcg-target-con-str.h +++ b/tcg/loongarch64/tcg-target-con-str.h @@ -23,7 +23,6 @@ REGS('w', ALL_VECTOR_REGS) CONST('I', TCG_CT_CONST_S12) CONST('J', TCG_CT_CONST_S32) CONST('U', TCG_CT_CONST_U12) -CONST('Z', TCG_CT_CONST_ZERO) CONST('C', TCG_CT_CONST_C12) CONST('W', TCG_CT_CONST_WSZ) CONST('M', TCG_CT_CONST_VCMP) diff --git a/tcg/loongarch64/tcg-target.c.inc b/tcg/loongarch64/tcg-target.c.inc index dd67e8f6bc..cbd7642b58 100644 --- a/tcg/loongarch64/tcg-target.c.inc +++ b/tcg/loongarch64/tcg-target.c.inc @@ -173,14 +173,13 @@ static TCGReg tcg_target_call_oarg_reg(TCGCallReturnKind kind, int slot) #define TCG_GUEST_BASE_REG TCG_REG_S1 -#define TCG_CT_CONST_ZERO 0x100 -#define TCG_CT_CONST_S12 0x200 -#define TCG_CT_CONST_S32 0x400 -#define TCG_CT_CONST_U12 0x800 -#define TCG_CT_CONST_C12 0x1000 -#define TCG_CT_CONST_WSZ 0x2000 -#define TCG_CT_CONST_VCMP 0x4000 -#define TCG_CT_CONST_VADD 0x8000 +#define TCG_CT_CONST_S12 0x100 +#define TCG_CT_CONST_S32 0x200 +#define TCG_CT_CONST_U12 0x400 +#define TCG_CT_CONST_C12 0x800 +#define TCG_CT_CONST_WSZ 0x1000 +#define TCG_CT_CONST_VCMP 0x2000 +#define TCG_CT_CONST_VADD 0x4000 #define ALL_GENERAL_REGS MAKE_64BIT_MASK(0, 32) #define ALL_VECTOR_REGS MAKE_64BIT_MASK(32, 32) @@ -197,9 +196,6 @@ static bool tcg_target_const_match(int64_t val, int ct, if (ct & TCG_CT_CONST) { return true; } - if ((ct & TCG_CT_CONST_ZERO) && val == 0) { - return true; - } if ((ct & TCG_CT_CONST_S12) && val == sextreg(val, 0, 12)) { return true; } @@ -2229,7 +2225,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_st_i64: case INDEX_op_qemu_st_i32: case INDEX_op_qemu_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_qemu_ld_i128: return C_N2_I1(r, r, r); @@ -2239,7 +2235,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_brcond_i32: case INDEX_op_brcond_i64: - return C_O0_I2(rZ, rZ); + return C_O0_I2(rz, rz); case INDEX_op_ext8s_i32: case INDEX_op_ext8s_i64: @@ -2332,14 +2328,14 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_deposit_i32: case INDEX_op_deposit_i64: /* Must deposit into the same register as input */ - return C_O1_I2(r, 0, rZ); + return C_O1_I2(r, 0, rz); case INDEX_op_sub_i32: case INDEX_op_setcond_i32: - return C_O1_I2(r, rZ, ri); + return C_O1_I2(r, rz, ri); case INDEX_op_sub_i64: case INDEX_op_setcond_i64: - return C_O1_I2(r, rZ, rJ); + return C_O1_I2(r, rz, rJ); case INDEX_op_mul_i32: case INDEX_op_mul_i64: @@ -2355,11 +2351,11 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_rem_i64: case INDEX_op_remu_i32: case INDEX_op_remu_i64: - return C_O1_I2(r, rZ, rZ); + return C_O1_I2(r, rz, rz); case INDEX_op_movcond_i32: case INDEX_op_movcond_i64: - return C_O1_I4(r, rZ, rJ, rZ, rZ); + return C_O1_I4(r, rz, rJ, rz, rz); case INDEX_op_ld_vec: case INDEX_op_dupm_vec: From patchwork Wed Feb 12 03:46:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 864426 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1289:b0:385:e875:8a9e with SMTP id f9csp558320wrx; Tue, 11 Feb 2025 19:47:11 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX9W03kG0SBde07iwevot4H+iBjGgwzIK0D5342pq1mqyQI2psW55FYFId/eqWG3I44Naqz2A==@linaro.org X-Google-Smtp-Source: AGHT+IG1dhEY1AO+TnSjI3smrjflGTJLtzHMZMKj7VEcax6pFDP2zj5Qsoi2sxrV6vNtGJ02HzSB X-Received: by 2002:a05:622a:4c19:b0:471:ac91:966b with SMTP id d75a77b69052e-471afe0eb0emr25079811cf.2.1739332031286; Tue, 11 Feb 2025 19:47:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739332031; cv=none; d=google.com; s=arc-20240605; b=MSCacTfVNn8zuNtL/Bdm3B2PG2DSGPKMbdc5vRNCtq2gaVHwQY3O5YI6G2IhZN7SW9 XxjECRQB/emAZGo0siOWoRhw+gcecJx7jj/NORo4a65oTJ7Mn1KW7T3Qr7wDpCt3v6pe nPWDG6k8eGyIMVNivl5K4o3GpjP1wVtzAFKvlanlQxQkUQGJV8dvTq3WarARBGAY4+go U0siaxHVq3+6BQJ34qj7L87bAE2lWJ5aMAY15aNxLKlBTcxG3rqClD6QyqNGAHhJjcqo JLzc8NwYXhX6zMWPzboDd3p3DKCtfiJRTWv6Z2APj0F3Mim5T0F83kEozx2XSN5ZKz3X cO3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=gOgvNftMIIoKV3YyDJMbr2pcd4FkgGtrzluRHQDbxpc=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=FrNHAqjJ9tgG41KzNMVnF6vzIsAeMHTOSAci478ifKvnV/sUZ49JQn0yih1m0HvCL7 qipNuT9mC2kai0+/SFWF3/8XqLTALfG1a3P9gAxw6YQhwqntUyrDJM2Wx+s44iAHBtxJ qxDNzs8nt3CMbYm8jm4UX7EypktgeLlHZ50cd9aKu3z6BEBEpgFx/d46TYAoR5wP990f uLASz6MKKMB4j4IeUjCRJcX5nZxpa65xkST5UUPfSOyAkD4K2XNgADSGaVKUZ3ePGwzX zlO6jX1wDVxtfmy+Eokak/wK+wyqy5HyEM744paRigy+angKwwR1gY3E5ssTFYILIYBH P+rQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UTOMfCEm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-47153b6f7f6si132886701cf.245.2025.02.11.19.47.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 19:47:11 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UTOMfCEm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ti3i8-0000Fb-3F; Tue, 11 Feb 2025 22:46:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ti3hi-00009k-LA for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:28 -0500 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ti3hf-0001aJ-Qj for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:26 -0500 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-21f62cc4088so76351435ad.3 for ; Tue, 11 Feb 2025 19:46:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739331982; x=1739936782; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=gOgvNftMIIoKV3YyDJMbr2pcd4FkgGtrzluRHQDbxpc=; b=UTOMfCEmDaTUMOLQCi3ZSIRnBEyA5x8o0LVl6Fjp0dWhQln21NlaZUjFgOI8DwhrHa RsptDxM3wH96kt8kJGHK0lRyjjatsINb4hv6FLgfqjqlGtlvgpHXfBuF4fupXkFT2l7w HI32yCB5wefBV9G2+fvUmvcCIcC95y5Wkr95oFAVPqnV0tk8eFCXKb7zexB5BlMT9dp/ rB2NA34GhAjhG+Ppfn+IkQfXwcGVitLrMB0cJ5e7mORMjFHxnoOeA5mp1AG4vSnfGnnr A2w6Hn14DDcJ+fzGmz22RimQ+WbvIqEz1VMadIgVmwhLYkU0l51tsfOqWU0iUeOPWkAP YBQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739331982; x=1739936782; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gOgvNftMIIoKV3YyDJMbr2pcd4FkgGtrzluRHQDbxpc=; b=MG4fYfKz+t0kjxzo4h6FR66cH65aS6b7bqJR8JaU6iyf0YCMVK5DKMPe3eUerINYRs UCuPXtteeYYHxBV/F2JSn+cFpy2sYHL85uKpt0/c1fS9rvvPzEF+yErutfq5mUNHeoJ0 11X3IWiON750igF52sg7Epz0s6y68jqYztbBxUAtQLL3dPwPn6axdYKllPAvWdl3/7ue 9etzsdB5hf5YgYc5K8RLuc5qT5ijXsxZjnQedOdmHFriJYD2ab3b6I5FXK4fxRrTzv/S pPWICZYV41ubqSnKQFW+zRDWllk3OyCho1KXTtU0vSC7f93kQDv02KASz8Q+n/27j6h5 aTJw== X-Gm-Message-State: AOJu0YxKiZSnO2XkgXdXe7TFEEY5vSA424b34+HclgY5XOPBSY7bq7vJ tDW8YHJM74pJf26tY7V7JX7Y8cR3+sMyXWQtYpKYRHpBPO82d4fEHo/eCOMH6/lKXL+VBWkkQsV H X-Gm-Gg: ASbGncvtFy9E+PuTaN+kHgxuwuGFxgvHR/vR9XFUlTBvHc35obLkqfDU7jbKvG5AwhF wF2pKzYSvoTqEQMembi1N0z+xSsdrJdSHcvS/EElJGEX4VNVjfoq1IQXiVcIHQGqhmJlpwR+SNg 9+stedFqftPFAY5kUf2qNKSeOqgZkaOZ/mBKAnUctzr/v15wEVB5d77kIZ9QzSU3jy7d8j0UHF6 2Hu76M2pDtrKmfBFFBCrR+ca553adUqChzNGVj7zH41cQ4zMML9Fi5rJe9KB9/3KtD9EKlXjj8/ 3MvbxPuGSN8WgAIkhkFABUlJ/Z3XpP3eylplswhEAiOodiQ= X-Received: by 2002:a05:6a21:6b17:b0:1ed:a80e:932 with SMTP id adf61e73a8af0-1ee5c83de1bmr4135966637.34.1739331982416; Tue, 11 Feb 2025 19:46:22 -0800 (PST) Received: from stoup.. (71-212-39-66.tukw.qwest.net. [71.212.39.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-730992eba96sm3482569b3a.126.2025.02.11.19.46.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 19:46:21 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 4/6] tcg/mips: Use 'z' constraint Date: Tue, 11 Feb 2025 19:46:15 -0800 Message-ID: <20250212034617.1079324-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250212034617.1079324-1-richard.henderson@linaro.org> References: <20250212034617.1079324-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Replace target-specific 'Z' with generic 'z'. Signed-off-by: Richard Henderson --- tcg/mips/tcg-target-con-set.h | 26 ++++++++++----------- tcg/mips/tcg-target-con-str.h | 1 - tcg/mips/tcg-target.c.inc | 44 ++++++++++++++--------------------- 3 files changed, 31 insertions(+), 40 deletions(-) diff --git a/tcg/mips/tcg-target-con-set.h b/tcg/mips/tcg-target-con-set.h index 864034f468..06ab04cc4d 100644 --- a/tcg/mips/tcg-target-con-set.h +++ b/tcg/mips/tcg-target-con-set.h @@ -10,24 +10,24 @@ * tcg-target-con-str.h; the constraint combination is inclusive or. */ C_O0_I1(r) -C_O0_I2(rZ, r) -C_O0_I2(rZ, rZ) -C_O0_I3(rZ, r, r) -C_O0_I3(rZ, rZ, r) -C_O0_I4(rZ, rZ, rZ, rZ) -C_O0_I4(rZ, rZ, r, r) +C_O0_I2(rz, r) +C_O0_I2(rz, rz) +C_O0_I3(rz, r, r) +C_O0_I3(rz, rz, r) +C_O0_I4(rz, rz, rz, rz) +C_O0_I4(rz, rz, r, r) C_O1_I1(r, r) -C_O1_I2(r, 0, rZ) +C_O1_I2(r, 0, rz) C_O1_I2(r, r, r) C_O1_I2(r, r, ri) C_O1_I2(r, r, rI) C_O1_I2(r, r, rIK) C_O1_I2(r, r, rJ) -C_O1_I2(r, r, rWZ) -C_O1_I2(r, rZ, rN) -C_O1_I2(r, rZ, rZ) -C_O1_I4(r, rZ, rZ, rZ, 0) -C_O1_I4(r, rZ, rZ, rZ, rZ) +C_O1_I2(r, r, rzW) +C_O1_I2(r, rz, rN) +C_O1_I2(r, rz, rz) +C_O1_I4(r, rz, rz, rz, 0) +C_O1_I4(r, rz, rz, rz, rz) C_O2_I1(r, r, r) C_O2_I2(r, r, r, r) -C_O2_I4(r, r, rZ, rZ, rN, rN) +C_O2_I4(r, r, rz, rz, rN, rN) diff --git a/tcg/mips/tcg-target-con-str.h b/tcg/mips/tcg-target-con-str.h index 413c280a7a..dfe2b156df 100644 --- a/tcg/mips/tcg-target-con-str.h +++ b/tcg/mips/tcg-target-con-str.h @@ -19,4 +19,3 @@ CONST('J', TCG_CT_CONST_S16) CONST('K', TCG_CT_CONST_P2M1) CONST('N', TCG_CT_CONST_N16) CONST('W', TCG_CT_CONST_WSZ) -CONST('Z', TCG_CT_CONST_ZERO) diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc index 6fe7a77813..dffb59cde4 100644 --- a/tcg/mips/tcg-target.c.inc +++ b/tcg/mips/tcg-target.c.inc @@ -184,12 +184,11 @@ static bool patch_reloc(tcg_insn_unit *code_ptr, int type, g_assert_not_reached(); } -#define TCG_CT_CONST_ZERO 0x100 -#define TCG_CT_CONST_U16 0x200 /* Unsigned 16-bit: 0 - 0xffff. */ -#define TCG_CT_CONST_S16 0x400 /* Signed 16-bit: -32768 - 32767 */ -#define TCG_CT_CONST_P2M1 0x800 /* Power of 2 minus 1. */ -#define TCG_CT_CONST_N16 0x1000 /* "Negatable" 16-bit: -32767 - 32767 */ -#define TCG_CT_CONST_WSZ 0x2000 /* word size */ +#define TCG_CT_CONST_U16 0x100 /* Unsigned 16-bit: 0 - 0xffff. */ +#define TCG_CT_CONST_S16 0x200 /* Signed 16-bit: -32768 - 32767 */ +#define TCG_CT_CONST_P2M1 0x400 /* Power of 2 minus 1. */ +#define TCG_CT_CONST_N16 0x800 /* "Negatable" 16-bit: -32767 - 32767 */ +#define TCG_CT_CONST_WSZ 0x1000 /* word size */ #define ALL_GENERAL_REGS 0xffffffffu @@ -204,8 +203,6 @@ static bool tcg_target_const_match(int64_t val, int ct, { if (ct & TCG_CT_CONST) { return 1; - } else if ((ct & TCG_CT_CONST_ZERO) && val == 0) { - return 1; } else if ((ct & TCG_CT_CONST_U16) && val == (uint16_t)val) { return 1; } else if ((ct & TCG_CT_CONST_S16) && val == (int16_t)val) { @@ -1663,11 +1660,6 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type, TCGArg a0, a1, a2; int c2; - /* - * Note that many operands use the constraint set "rZ". - * We make use of the fact that 0 is the ZERO register, - * and hence such cases need not check for const_args. - */ a0 = args[0]; a1 = args[1]; a2 = args[2]; @@ -2178,14 +2170,14 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_st16_i64: case INDEX_op_st32_i64: case INDEX_op_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_add_i32: case INDEX_op_add_i64: return C_O1_I2(r, r, rJ); case INDEX_op_sub_i32: case INDEX_op_sub_i64: - return C_O1_I2(r, rZ, rN); + return C_O1_I2(r, rz, rN); case INDEX_op_mul_i32: case INDEX_op_mulsh_i32: case INDEX_op_muluh_i32: @@ -2204,7 +2196,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_remu_i64: case INDEX_op_nor_i64: case INDEX_op_setcond_i64: - return C_O1_I2(r, rZ, rZ); + return C_O1_I2(r, rz, rz); case INDEX_op_muls2_i32: case INDEX_op_mulu2_i32: case INDEX_op_muls2_i64: @@ -2231,35 +2223,35 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) return C_O1_I2(r, r, ri); case INDEX_op_clz_i32: case INDEX_op_clz_i64: - return C_O1_I2(r, r, rWZ); + return C_O1_I2(r, r, rzW); case INDEX_op_deposit_i32: case INDEX_op_deposit_i64: - return C_O1_I2(r, 0, rZ); + return C_O1_I2(r, 0, rz); case INDEX_op_brcond_i32: case INDEX_op_brcond_i64: - return C_O0_I2(rZ, rZ); + return C_O0_I2(rz, rz); case INDEX_op_movcond_i32: case INDEX_op_movcond_i64: return (use_mips32r6_instructions - ? C_O1_I4(r, rZ, rZ, rZ, rZ) - : C_O1_I4(r, rZ, rZ, rZ, 0)); + ? C_O1_I4(r, rz, rz, rz, rz) + : C_O1_I4(r, rz, rz, rz, 0)); case INDEX_op_add2_i32: case INDEX_op_sub2_i32: - return C_O2_I4(r, r, rZ, rZ, rN, rN); + return C_O2_I4(r, r, rz, rz, rN, rN); case INDEX_op_setcond2_i32: - return C_O1_I4(r, rZ, rZ, rZ, rZ); + return C_O1_I4(r, rz, rz, rz, rz); case INDEX_op_brcond2_i32: - return C_O0_I4(rZ, rZ, rZ, rZ); + return C_O0_I4(rz, rz, rz, rz); case INDEX_op_qemu_ld_i32: return C_O1_I1(r, r); case INDEX_op_qemu_st_i32: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_qemu_ld_i64: return TCG_TARGET_REG_BITS == 64 ? C_O1_I1(r, r) : C_O2_I1(r, r, r); case INDEX_op_qemu_st_i64: - return TCG_TARGET_REG_BITS == 64 ? C_O0_I2(rZ, r) : C_O0_I3(rZ, rZ, r); + return TCG_TARGET_REG_BITS == 64 ? C_O0_I2(rz, r) : C_O0_I3(rz, rz, r); default: return C_NotImplemented; From patchwork Wed Feb 12 03:46:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 864429 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1289:b0:385:e875:8a9e with SMTP id f9csp558468wrx; Tue, 11 Feb 2025 19:47:56 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVIvS0Pet1b6d6rlBvCcxizkmsZRe6KyczF1bx89AOtNOazsucSA2hVKBMgAXhQDwKSInaHKQ==@linaro.org X-Google-Smtp-Source: AGHT+IGDpfLgiTayQkj2/HXVbIhDKf4D12WijXE955uiPCUyBDStA5QnFK1kwuW5gH2SHvNEJ3SU X-Received: by 2002:a05:620a:3906:b0:7c0:6045:b8c4 with SMTP id af79cd13be357-7c06fc70e56mr287914285a.21.1739332076025; Tue, 11 Feb 2025 19:47:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739332076; cv=none; d=google.com; s=arc-20240605; b=hvlV8b4A5eeitxTMVIraBEN4W5iPxj+zBFJ19GSInGbQXETYMEH2rvlkRf1dDSvYxm tvRiTb9WBv5VeQ49VeeUxFf/55KJdD3UH4TEVdSi0NlxwGNbXQGQ47qHW8W8lPz5KRUi /LmnQaSk5O7M6SYn7+grNKyRy2ZxXhVrpF5rU5vZh/ZKoiW3EVpdpS2ActMWclp767lr 77ycIBG20cQG4sRihtSHGiokH5bvB9biYaamwKuxxaNHA+hSjWM2eZni1s5UDU75O0LV mHMo7Tm1NGsZiO+hoLFR6763yTJesR2ETPKst4UehYAEm0x+17TOF5oJhZvsOqZYteU0 PE3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=PEplZL1SkMVKTtR2qlizhEbXB0POhGhFKgHRRiKa6Uo=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=BMLtTaytBGjI2A1aPqWTL03nidIcH/KGu1oaOE3TbtqXP9nX3sTIeBJX/PVRTIC9+f uW0yy1+v/006oJXjvBpVM1Fb18SVfoGvV2Q7vgwN46aZxPcOdgzfQvrhMbJgQ/E5E8b0 AkwzceHlXoSuiUA6EWlM6qi2fDT7uzEZ/wp7CPO8VSmXTLAeUQpLEP4BAjqkaTTCNgBQ NLyybOJNl5Jt88cUOVXlWFHJ818Wy+iWRdCPSLDokNHHHBBC16mmmWQRy8ZW50V3OM/d JqH5ZxYZSmU00mUR5gZO9GGOvik1vXEZ5RAMNbSuEuQ3EXK8G0iNJoTNH2beJysGh0R8 NX8w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MyA8mg0M; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c061482e27si447785985a.290.2025.02.11.19.47.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 19:47:56 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MyA8mg0M; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ti3iO-0000Hx-FU; Tue, 11 Feb 2025 22:47:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ti3hi-00009l-Ld for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:28 -0500 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ti3hg-0001aZ-Tu for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:26 -0500 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-220bfdfb3f4so4308855ad.2 for ; Tue, 11 Feb 2025 19:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739331983; x=1739936783; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=PEplZL1SkMVKTtR2qlizhEbXB0POhGhFKgHRRiKa6Uo=; b=MyA8mg0MO/ayECrgkCWG0WS90NMdw8FKMHVpQXUalVmumbJ8DzqTUyFKYPBPImvmsO Q8dO7YEWHKyfxX+vpfb2wQpgOJeqtnKDosLZ2LyL5t7xSiqsHff0jWuXUJ1OCF2uAGAe V1Qb/W3qp72A/+MDreCEzIIAPbeekBFQsU0XI/X8RGcC6Iax4jw15HSuTjqyOjb7q57v nDs4umMk5cOQY38IFPciKSDKQLp0QceFFNb7y2n1MSxwbm7J4dDBLfkWH7s52zvcc3ol QTiicq0NAOce4vw/+Bmc9Ql68EI8FbMYjRBAm5zkB4XR8qLXMqykWd/pnaztRRnMCt+J etmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739331983; x=1739936783; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PEplZL1SkMVKTtR2qlizhEbXB0POhGhFKgHRRiKa6Uo=; b=g32DW2vDYAPtLccMtVSCtuKUNd/nVUiqCbFpVwqQd90ELxo4+jMm/CgSsWUmb4tId7 uzGKFXeUK/eybkMUZfTpVhqAnjMPwUBrGrY1SL/i+M8ODPCH3dbVzGbdpzzqB8zFMHw/ 0xICj4tnLt9o7yMrR7GVFcNMGmkFX94B4MDXKj8BojhPVChK06Mu6ADJAtcF2fES9pqO aAfcju67+3794CJYIJb3zp53ibFz3vmtL7oqvOo+L6WbaMYI2aoF2qH/VhKzMewmlxF3 lKCQNlMqZqopTS9gxQX8OOh20RxMKxKXxqAcuFaXjwoW/QElCEWu5IhKTsbYlur33f8p JhPA== X-Gm-Message-State: AOJu0YzrFsUC/lzEGlhzqSkTtDQbs9z2jRpl7N8IP+yfeiBR330cYrFT QX07APUAJE4gNDRixVRhsuqQGAg0XDok7RqV2vPZzFvag7xMzzP0bXoiFi4DRCuwCk53B0wNjUC K X-Gm-Gg: ASbGncssqqoxFPyC6FNd1AOawCCNgQ8S50tbBV39SzG1LSpIDpOie27P1Js3kT7GR90 RA/OClXM7ZUj0wLXkNnmLestHt7cGELTltmiqZm2HuZn5LnUoWbz0kaGu54X9ZfrLFFNA8a0Khp kXaGUUhVLtLi6BQF5A5BUzePMaUsh0qhU3e3BfcplFLG/h1N1iammmcfJDgjZ78QcyjgnbyGgXL ZqxjC6vVPFPfVuZxGpKAn/svLXvX3f29HvIftO75qEQ0eKXlTsY0L9zQXcGiacJ/qUfbstYpziu 7byiYLVP44IqEZ0aKCDozWgrT/BWfvL8kFsf2KqyB08Drh4= X-Received: by 2002:a05:6a00:1494:b0:728:e906:e446 with SMTP id d2e1a72fcca58-7322c4116c9mr2599176b3a.24.1739331983047; Tue, 11 Feb 2025 19:46:23 -0800 (PST) Received: from stoup.. (71-212-39-66.tukw.qwest.net. [71.212.39.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-730992eba96sm3482569b3a.126.2025.02.11.19.46.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 19:46:22 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 5/6] tcg/riscv: Use 'z' constraint Date: Tue, 11 Feb 2025 19:46:16 -0800 Message-ID: <20250212034617.1079324-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250212034617.1079324-1-richard.henderson@linaro.org> References: <20250212034617.1079324-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::634; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Replace target-specific 'Z' with generic 'z'. Signed-off-by: Richard Henderson --- tcg/riscv/tcg-target-con-set.h | 10 +++++----- tcg/riscv/tcg-target-con-str.h | 1 - tcg/riscv/tcg-target.c.inc | 12 ++++++------ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/tcg/riscv/tcg-target-con-set.h b/tcg/riscv/tcg-target-con-set.h index 3c4ef44eb0..e92e815491 100644 --- a/tcg/riscv/tcg-target-con-set.h +++ b/tcg/riscv/tcg-target-con-set.h @@ -10,17 +10,17 @@ * tcg-target-con-str.h; the constraint combination is inclusive or. */ C_O0_I1(r) -C_O0_I2(rZ, r) -C_O0_I2(rZ, rZ) +C_O0_I2(rz, r) +C_O0_I2(rz, rz) C_O1_I1(r, r) C_O1_I2(r, r, ri) C_O1_I2(r, r, rI) C_O1_I2(r, r, rJ) -C_O1_I2(r, rZ, rN) -C_O1_I2(r, rZ, rZ) +C_O1_I2(r, rz, rN) +C_O1_I2(r, rz, rz) C_N1_I2(r, r, rM) C_O1_I4(r, r, rI, rM, rM) -C_O2_I4(r, r, rZ, rZ, rM, rM) +C_O2_I4(r, r, rz, rz, rM, rM) C_O0_I2(v, r) C_O1_I1(v, r) C_O1_I1(v, v) diff --git a/tcg/riscv/tcg-target-con-str.h b/tcg/riscv/tcg-target-con-str.h index 089efe96ca..2f9700638c 100644 --- a/tcg/riscv/tcg-target-con-str.h +++ b/tcg/riscv/tcg-target-con-str.h @@ -21,4 +21,3 @@ CONST('K', TCG_CT_CONST_S5) CONST('L', TCG_CT_CONST_CMP_VI) CONST('N', TCG_CT_CONST_N12) CONST('M', TCG_CT_CONST_M12) -CONST('Z', TCG_CT_CONST_ZERO) diff --git a/tcg/riscv/tcg-target.c.inc b/tcg/riscv/tcg-target.c.inc index dae892437e..361114a780 100644 --- a/tcg/riscv/tcg-target.c.inc +++ b/tcg/riscv/tcg-target.c.inc @@ -2680,7 +2680,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_st16_i64: case INDEX_op_st32_i64: case INDEX_op_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_add_i32: case INDEX_op_and_i32: @@ -2706,7 +2706,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_sub_i32: case INDEX_op_sub_i64: - return C_O1_I2(r, rZ, rN); + return C_O1_I2(r, rz, rN); case INDEX_op_mul_i32: case INDEX_op_mulsh_i32: @@ -2722,7 +2722,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_divu_i64: case INDEX_op_rem_i64: case INDEX_op_remu_i64: - return C_O1_I2(r, rZ, rZ); + return C_O1_I2(r, rz, rz); case INDEX_op_shl_i32: case INDEX_op_shr_i32: @@ -2744,7 +2744,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_brcond_i32: case INDEX_op_brcond_i64: - return C_O0_I2(rZ, rZ); + return C_O0_I2(rz, rz); case INDEX_op_movcond_i32: case INDEX_op_movcond_i64: @@ -2754,14 +2754,14 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_add2_i64: case INDEX_op_sub2_i32: case INDEX_op_sub2_i64: - return C_O2_I4(r, r, rZ, rZ, rM, rM); + return C_O2_I4(r, r, rz, rz, rM, rM); case INDEX_op_qemu_ld_i32: case INDEX_op_qemu_ld_i64: return C_O1_I1(r, r); case INDEX_op_qemu_st_i32: case INDEX_op_qemu_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_st_vec: return C_O0_I2(v, r); From patchwork Wed Feb 12 03:46:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 864430 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1289:b0:385:e875:8a9e with SMTP id f9csp558464wrx; Tue, 11 Feb 2025 19:47:55 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXpdXD41PYirFMZp2ZtsOuE+3DQ3rsh7mGGo8xsXGTWD00zkbuTEgnwHLKGiIsV6bB/GjTFew==@linaro.org X-Google-Smtp-Source: AGHT+IHhpa9CrvJLMEjCzmbRg8QJWR1HiRMalJIkSfl8LQa78WveYDWNyAbH+8myVCQizAweMzyO X-Received: by 2002:a05:622a:199b:b0:471:9ff4:e129 with SMTP id d75a77b69052e-471afe0eb1amr24036291cf.5.1739332075655; Tue, 11 Feb 2025 19:47:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1739332075; cv=none; d=google.com; s=arc-20240605; b=JCBJwiXTdRIBqYFoOIhRQcLHzVCDIatUcDErHMXhVJzHUA2a2mP782PXbcsOb4NsJ2 dO4Iw90rOvVAP0K9lIPegk4kpLEFxNrjngIrfZAs44bL+uoaTSJFaotL+ADUZdz3Jpwv 1tg/w/VSK36QDv/zMQ84iHz73cWHVRZokTbi8Hvs/6MKRfiLEdpPX4bg7kaREQYivY3i 1ExwQj1FMWvSkx8ki5cs3pyzknagBMamohhzOsSnaYgvhENVR6BFVquK/l0J2sgtkjGb bm683iYOI1klyNPDolP2RXgxLEw+nEhPYYSFy60cD9x8+DZREGi2WZqrg7LCeumKifXU XLFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=C4eUV2eAbQIR5bmWGbWaT4KdX4syAYZH2YVmFoTAlF0=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=jExU/jziHYkNPGaubyOU8vGvPQ2DjV39GD+FiZKdNtLmngKi3neMeH8YPmzJtPAH96 ApsXByuY95iwphLAEye1JZH7Y8eWdln3c+k2RybrXUln4G+A/69yu6n90vRPM131TiG1 ywZBBK21YkV/D8EqubKDM9DFfJBK6hYi4FK6yFY5CahVczWDgByA971qrWB4GYgd/08B jz/H+/978O+h3Sh0MVyC1CqMgYixjZ8nwXuIgWvuwBbKwOmBIXIfBdBx6TLypAOtomAz gzQFbTOERlGGVps5GDgblAj9AqSsE2sHkVbDBnAHNLhwbRtPAHOHfda5S09H/G/p1xc7 gffA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ldLVuwZI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-471a2683507si28495901cf.165.2025.02.11.19.47.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 19:47:55 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ldLVuwZI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ti3ia-0000RS-5P; Tue, 11 Feb 2025 22:47:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ti3hi-00009m-V7 for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:28 -0500 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ti3hh-0001ab-9B for qemu-devel@nongnu.org; Tue, 11 Feb 2025 22:46:26 -0500 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-21f62cc4088so76351655ad.3 for ; Tue, 11 Feb 2025 19:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1739331984; x=1739936784; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=C4eUV2eAbQIR5bmWGbWaT4KdX4syAYZH2YVmFoTAlF0=; b=ldLVuwZIylpqrQkh+GiXBLpXA1Xr+PgFMJlwHk3dUDoaRwZsQ1rliYBQ0Ic5IwIzw1 VDXJTesjkYOcylfapPd0xKkeXrOqE4gmpD7nk8XhrhuG2Oz/TFTXSy7ln+HnTct2ytdX mPhbQ4+YxCN+IPf26aHn6rt1i0I1Aq1RYBKQr3+6ikyv33tHj6L6il2PBwHulRmySy5C ROUBA2poF53FKQzhDY2gEZxGxIZLVWZnEIrOLU0pJShwUsQzIuPkZtLLF9HBNRsftRLe 7wEBPt4KJyd42YsJ+5Xet/Tpt520Oyl7ZfX4MlBijYFYUEpKE/bOP5ehzDE/aBnp9DCR lsdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739331984; x=1739936784; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=C4eUV2eAbQIR5bmWGbWaT4KdX4syAYZH2YVmFoTAlF0=; b=eBFiJsbDn4QLSNjI8QfiYNR+qxU2cK+YkVU6SPeAVzEYUnFiPpUYk/YhtgpB00vOSK mu6ME9SD39NcE1hvHDQ0Y9h5lGEvIEs3RirdWP4diGrGp5Hf79Rxz32wJ11FpvzDFryx f/4BFpxkt13tGRwAACvspJHkC9YZDbSKdXl5u6iTKXg2NcvNZjl2bqHM9tWPCKW97d/N UQrmXrkzlOb+s32pP/q57htrmR7c+jAcyd/Voc0VJ7yaAuWO6s8pnRwssTV7gjawWfVw YEKWCoPZ3mFnmB2Jcsw8mVsHncgUdOZXnnc5yPGvKFaTrRQIic04JBSB39iA8XIj+Ixf Mm6g== X-Gm-Message-State: AOJu0YwckBr8xMNpUwtAUFxWbdsfNWHbHGuk6KD4OCMNuRKGOF5iO14l HYwQBsVB21AvmQOPyHhFFRr4OOgOV9TVQpY7jHV06Ax+MshIYDlf/v/Jr0C4WVtyhctsdmmsKpH j X-Gm-Gg: ASbGncvzKKD9v4Mgh5dWk8O5N1M4sJVarRqMWkF28w8bthGeJXGovAQad6woYxe9dQN 7UVIjpwEw7EVB+Kcce8dxHE0KKiPDH3vOnOFkJM5mLm7QZSqIoShUfoIybaLm3nhAbfX16mqRIS RPSx67npxhEtV55iyDGlJkG2KKDimjc4AB7gZELbPp1LHdoZeWxvw+IPjq1y5oIwJZaL1qrsJ4N P7YN/YoXU/5ce+qR+KiUa/RrosRiYa1fdlYQWQNFnVmfQ8V3620BIuV/Owc4kOpWFpfhf25xUDf g1LGMrmcjhYnuj4dzuLc0X3nPll2y0UxvSh/pyaV8VJ9dT8= X-Received: by 2002:a05:6a00:1c9d:b0:730:957d:a812 with SMTP id d2e1a72fcca58-7322c377e7emr1938320b3a.1.1739331983652; Tue, 11 Feb 2025 19:46:23 -0800 (PST) Received: from stoup.. (71-212-39-66.tukw.qwest.net. [71.212.39.66]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-730992eba96sm3482569b3a.126.2025.02.11.19.46.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Feb 2025 19:46:23 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 6/6] tcg/sparc64: Use 'z' constraint Date: Tue, 11 Feb 2025 19:46:17 -0800 Message-ID: <20250212034617.1079324-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250212034617.1079324-1-richard.henderson@linaro.org> References: <20250212034617.1079324-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Replace target-specific 'Z' with generic 'z'. Signed-off-by: Richard Henderson --- tcg/sparc64/tcg-target-con-set.h | 12 ++++++------ tcg/sparc64/tcg-target-con-str.h | 1 - tcg/sparc64/tcg-target.c.inc | 12 ++++++------ 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/tcg/sparc64/tcg-target-con-set.h b/tcg/sparc64/tcg-target-con-set.h index 434bf25072..61f9fa3d9f 100644 --- a/tcg/sparc64/tcg-target-con-set.h +++ b/tcg/sparc64/tcg-target-con-set.h @@ -10,11 +10,11 @@ * tcg-target-con-str.h; the constraint combination is inclusive or. */ C_O0_I1(r) -C_O0_I2(rZ, r) -C_O0_I2(rZ, rJ) +C_O0_I2(rz, r) +C_O0_I2(rz, rJ) C_O1_I1(r, r) C_O1_I2(r, r, r) -C_O1_I2(r, rZ, rJ) -C_O1_I4(r, rZ, rJ, rI, 0) -C_O2_I2(r, r, rZ, rJ) -C_O2_I4(r, r, rZ, rZ, rJ, rJ) +C_O1_I2(r, rz, rJ) +C_O1_I4(r, rz, rJ, rI, 0) +C_O2_I2(r, r, rz, rJ) +C_O2_I4(r, r, rz, rz, rJ, rJ) diff --git a/tcg/sparc64/tcg-target-con-str.h b/tcg/sparc64/tcg-target-con-str.h index 0577ec4942..2f033b3ac2 100644 --- a/tcg/sparc64/tcg-target-con-str.h +++ b/tcg/sparc64/tcg-target-con-str.h @@ -16,4 +16,3 @@ REGS('r', ALL_GENERAL_REGS) */ CONST('I', TCG_CT_CONST_S11) CONST('J', TCG_CT_CONST_S13) -CONST('Z', TCG_CT_CONST_ZERO) diff --git a/tcg/sparc64/tcg-target.c.inc b/tcg/sparc64/tcg-target.c.inc index 527af5665d..68d10593ca 100644 --- a/tcg/sparc64/tcg-target.c.inc +++ b/tcg/sparc64/tcg-target.c.inc @@ -1579,7 +1579,7 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_st_i64: case INDEX_op_qemu_st_i32: case INDEX_op_qemu_st_i64: - return C_O0_I2(rZ, r); + return C_O0_I2(rz, r); case INDEX_op_add_i32: case INDEX_op_add_i64: @@ -1611,22 +1611,22 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) case INDEX_op_setcond_i64: case INDEX_op_negsetcond_i32: case INDEX_op_negsetcond_i64: - return C_O1_I2(r, rZ, rJ); + return C_O1_I2(r, rz, rJ); case INDEX_op_brcond_i32: case INDEX_op_brcond_i64: - return C_O0_I2(rZ, rJ); + return C_O0_I2(rz, rJ); case INDEX_op_movcond_i32: case INDEX_op_movcond_i64: - return C_O1_I4(r, rZ, rJ, rI, 0); + return C_O1_I4(r, rz, rJ, rI, 0); case INDEX_op_add2_i32: case INDEX_op_add2_i64: case INDEX_op_sub2_i32: case INDEX_op_sub2_i64: - return C_O2_I4(r, r, rZ, rZ, rJ, rJ); + return C_O2_I4(r, r, rz, rz, rJ, rJ); case INDEX_op_mulu2_i32: case INDEX_op_muls2_i32: - return C_O2_I2(r, r, rZ, rJ); + return C_O2_I2(r, r, rz, rJ); case INDEX_op_muluh_i64: return C_O1_I2(r, r, r);