From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139563; cv=none; d=zohomail.com; s=zohoarc; b=ZoX+v4AC/HXxoIxtnYork/tcz63X1Nri6v1HWjZcTbP+/z3pQmY8oaoAU6Fgh/klFrYriJ3Ol8SMjc3lb/gKjWbl1BVelQV2XGs1DOLfpwQL+UGoZa/oQTM10dxpljj7KQdgRPXzNVrC6IFasjcWE+uzoo8hszPVrUd9H8wm9IU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139563; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Qw0e1BsVz/+1pNHiRmvLy0a6vY8j9BXsvSZSxO4C5KE=; b=Z/raGsaO4AlFEFzsvIOcfKJ0k0Zj/bhDrsrqsntAVDOB3CN9ovFEn3t0hp1k8jaqZ54aR8SS0jNK1IVP1xoAvY7D2T6M3TjnT6FIMVsq+QktdgynpmWUQaUPH50qcYMGSkJ0tUr9loRZ0N1BJEQjmIbi3dbTNGlY5RRqaYw0uqk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139563510963.0736729395064; Tue, 10 Mar 2026 03:46:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzuab-00070Z-QA; Tue, 10 Mar 2026 06:45:25 -0400 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 1vzuaa-00070F-2O for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:24 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuaY-0005lU-HC for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:23 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-439cd6b0aedso4715280f8f.1 for ; Tue, 10 Mar 2026 03:45:21 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dae2ba66sm30678880f8f.20.2026.03.10.03.45.19 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139520; x=1773744320; 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=Qw0e1BsVz/+1pNHiRmvLy0a6vY8j9BXsvSZSxO4C5KE=; b=InrXhdcMXiW+UHJrhtWRv0I4nJe6azms5ZU2xbWr1M6s040hd4WlQYuQEQf2RU5eTe /RV9q5HG9EvU4xEuS2/GzW/BwWtvybTOnMMlTsFoF+ZE6E7MGVFGDss9viC53aqOZEpa 8cjviIHbvPDJc0fOSbpXk4IIeM0bmcA6U2GDI0nottODwyQ2ms0hYqGkzLO4FLHj4L7d JNj43QQJ7zmvYmdpt4HdQOrCAP7xFLZT8YbySnhXggzf3nmFyq1tb9DM0R2Sm6NPtz6P YVbj3ICBtf8wIknFBPQuRj5SDnDNCjG51s+Aho242cxKoXZ8r3RIEJJbvE0BqrtsDAKi 57HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139520; x=1773744320; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Qw0e1BsVz/+1pNHiRmvLy0a6vY8j9BXsvSZSxO4C5KE=; b=L3ASUZ2CjAQD9eVSp1W7UQb9CW2z1rml1cxRjMKiAPSRgdyyms0IHHzD2qE+TDvd2g Nm1OpaCcCo7elpPwTKCypNKFVvZVE/b1l6atw1qxLq4GawmpSg41iixCquFouwQClWDi ItqrULAgbSEgj7DjMKuMZ+ofMtdo57aDpvji2h/eN9wK/8y9m4OdZmpPgujZ7R8fhapv o9tcB7Arer5PpK6l0O8ksm6ueWkonDc+AAHdRX7ZfTyYJj7l1AsLzc0GYbh16Z+2k1u/ UwEg2arLw4wSxSWRO8kk1KckDUDX5tEPL0AXg8hWarMOkL19Bmw1hWLRQKgYChEYV3FX 8l5g== X-Gm-Message-State: AOJu0YywqPl9g/m0k8hih6mbRbIHmiuvDILRJgCnbSKlA5vq5YGwk62F uIcNpCBKzREfmgQCCc7iwSo7X57C26Ljz7huDNWAkKuJ5XHKOGJunyDVh/GnSYBd+hwdHX3w7lf 7aRtqbIU= X-Gm-Gg: ATEYQzz3kFwUxZ8xVGcdSxqzj/Je0iuJbBOyri36wJonuDq0tc3vP2nymjlkixiT0qH YYgVEV2qms1fMzZAszaslMj8eOEJQ9usrcjNLwb/XGVD/dCh5KM2AxHdgbQVCNE2AZ17qbS2gtM UHVASO+//bz2m/Qx5F8UVA3fU6Gn4Uq4/8qrw0sjwFrGKFPRHLsrjQblqWoKqrvnhHoki9WsDZ9 wTUSVsMCXOgvoxzWGvqRt7xSxxfCo60TBUjCeA/+HbZ2y3r28SJvB8q2D39p+EO1GWb4Imm98yU o27JTzTH7/alhVpp8lurQAGakcu891fwRCVnNN68bEZDTMp2gq/Vyqr+yN/DdwBdf7TlTEM53U2 +jxiY3Mh3xzpFUUHxXlH1jRyrLX68UThCHsgfE/bVzd8gJolYuvFZ5eBidywiM3qJKfKHz6cYhZ 22AIw4Xlk3Qv90q/PwZ8lom5BnBQW2e7myvA0b0mcwd+ZxCY8ZT9KLHlvrDw7cYv/86rXu36eu X-Received: by 2002:a05:6000:2003:b0:437:6d8c:c08a with SMTP id ffacd0b85a97d-439da8942d3mr24542322f8f.45.1773139520246; Tue, 10 Mar 2026 03:45:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 01/16] tcg: Drop extract+shl expansions in tcg_gen_deposit_z_* Date: Tue, 10 Mar 2026 11:44:56 +0100 Message-ID: <20260310104511.12670-2-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139566398158500 From: Richard Henderson The extract+shl expansion is handled in tcg_gen_andi_* by preferring supported extract. The shl+extract expansion is simply removed for now; it was only present for slightly smaller code generation on x86. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260303010833.1115741-2-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/tcg-op.c | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index 8d67acc4fce..b95b07efb57 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -937,21 +937,6 @@ void tcg_gen_deposit_z_i32(TCGv_i32 ret, TCGv_i32 arg, TCGv_i32 zero =3D tcg_constant_i32(0); tcg_gen_op5ii_i32(INDEX_op_deposit, ret, zero, arg, ofs, len); } else { - /* - * To help two-operand hosts we prefer to zero-extend first, - * which allows ARG to stay live. - */ - if (TCG_TARGET_extract_valid(TCG_TYPE_I32, 0, len)) { - tcg_gen_extract_i32(ret, arg, 0, len); - tcg_gen_shli_i32(ret, ret, ofs); - return; - } - /* Otherwise prefer zero-extension over AND for code size. */ - if (TCG_TARGET_extract_valid(TCG_TYPE_I32, 0, ofs + len)) { - tcg_gen_shli_i32(ret, arg, ofs); - tcg_gen_extract_i32(ret, ret, 0, ofs + len); - return; - } tcg_gen_andi_i32(ret, arg, (1u << len) - 1); tcg_gen_shli_i32(ret, ret, ofs); } @@ -2210,21 +2195,6 @@ void tcg_gen_deposit_z_i64(TCGv_i64 ret, TCGv_i64 ar= g, TCGv_i64 zero =3D tcg_constant_i64(0); tcg_gen_op5ii_i64(INDEX_op_deposit, ret, zero, arg, ofs, len); } else { - /* - * To help two-operand hosts we prefer to zero-extend first, - * which allows ARG to stay live. - */ - if (TCG_TARGET_extract_valid(TCG_TYPE_I64, 0, len)) { - tcg_gen_extract_i64(ret, arg, 0, len); - tcg_gen_shli_i64(ret, ret, ofs); - return; - } - /* Otherwise prefer zero-extension over AND for code size. */ - if (TCG_TARGET_extract_valid(TCG_TYPE_I64, 0, ofs + len)) { - tcg_gen_shli_i64(ret, arg, ofs); - tcg_gen_extract_i64(ret, ret, 0, ofs + len); - return; - } tcg_gen_andi_i64(ret, arg, (1ull << len) - 1); tcg_gen_shli_i64(ret, ret, ofs); } --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139564; cv=none; d=zohomail.com; s=zohoarc; b=Rkd9IK3XmkHTAmogUCJbGUGxuGLLKbfr+uiLPf+9qb0AVkp/BUwNjg8wkdg5dl0gMHU1vBCrMzbVwWtI7Fq2OFfb2USQCEiJ0bSNJxNHWuYYAyYIj/x921fPIsrK0Zu4V3DZP9KTvbz806Tc9avzahg81t1LzzuDtfxBk6BfNHs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139564; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=9SiM0aZpYgVuME72hfnbrWV6wSdRgMqhdwAij3V3ZC4=; b=CYmV4xcaqqOUNdTMISaqdCfL0hxj4T5yqQC5rrZ4dXE5pvX+6IvoSint0T8mxLPrBf6M4d1w69S04mbfXMOO9PJGh0FgH9IC2AGpQ/lREinwoioUex4ltPRkslrK9+M981J7TMMA4zpNJTPEGxPodlQbkHMRycLfVkaFSYdCq0A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177313956436753.11814738881981; Tue, 10 Mar 2026 03:46:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzuai-00071n-9u; Tue, 10 Mar 2026 06:45:32 -0400 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 1vzuah-00071P-5z for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:31 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuaf-0005mE-2r for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:30 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-439af7d77f0so8193318f8f.0 for ; Tue, 10 Mar 2026 03:45:28 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dadb85b8sm35307969f8f.17.2026.03.10.03.45.26 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139527; x=1773744327; 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=9SiM0aZpYgVuME72hfnbrWV6wSdRgMqhdwAij3V3ZC4=; b=BSxIScmz6e1nJksB2ZgqUWZ4fKLs2avRbsEVWmpHt/s+BrOMSsvf80hx3sO7RiXCTI mFLHmuWqiNL+5cZGvuDnlRm0ABuIdXEVwmD7F5PKFmQmGy9tBUnXUvP+MTSYy5WJNUtH sim45tbBXSdTnTiYJoPCwofDBzs9OFOKLk14o+uJESzUvwJWBfsRwQH9GjYMyXLaLuWZ MDB9FFYTHhk9bghXOlsiMwSzQFTcE3koxmSAnRiuOpfOZzZ/hFa0KhXNoaeO6NO4m5uO 6g5lwHS+gLA9CVhvKwN2FaPKwyIPt5NcomPcf8o4GAWPFmWXY69p7d1cqsPtGI9e5F1d D/SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139527; x=1773744327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9SiM0aZpYgVuME72hfnbrWV6wSdRgMqhdwAij3V3ZC4=; b=ZFwQUQoZR0NLY4xN4cX7oI5cAHzqDZk2eQd4wH4rknX+6cGVPdF1qguotHry+2xqQq BLBIFrIJonzYoys9BW7HWKVqPbzpEc6vv0H3iR5jUrgSi8b2kW8PiXNytpdIgC/EYVtJ WHp13UoXw9kZ6TTBdNA597fe/X0DjpE+ptd8i8lV6qXmnu0hNHeNY4zeFpsXEJtpjYyl 1hUbpw1ii8fZb4+sBfgdWfjQLfOfu1732iefp1r7aiKkC4ufDq0Zpk9xWFl9IFzr+9P3 BtGgvh6SN1a8813rTnZJ9ByJgsFrSN/HjAUsW99+4DLfYaKUhZzkFByYLi7WAsu5Ejnk dJgA== X-Gm-Message-State: AOJu0Yz8jTSAatmiMxM3DiQXWmdwTVR654LMehlUcoskvtf4l0/8RVPl I7ZNrwCWUShurCCKyP8dO4lKT5wMAJ2W2TL06wyg14Of9NaltPcDhQXjN3gvXaeseWQU0qNT5Gs cRKJtxdE= X-Gm-Gg: ATEYQzyJ0q1Sr98IbpGGMeXiLQtwJEiO2loUTlscA1IqCks3hkz8w0sXDn/V7LnZjjl 2c6wZZyCGrbXAYBchYigL2a47lubMSFgiiE9zYC1uZ1tvjok//nFkSYBLf8qBn6I2vIqta9f4/n sd/zOuKo2O9hGtLeRN0DRujAQk0X876uPTdoeL+yV6qt0R/MvMDiKFlh9ijj69HMESowE3OjXtW jkzCzoUJnWZITmsPnc+OBHeAdO1ky+JyBtmKpc1lTabKBzese1ZCZ3rnCwjBtpLojvUnzG2ypmk Ypss5R0ldWvMKUyqJaj9gcXqRjxofPv/6ZjU1zngQJBnry8SFiwSrBxYJUt5pRve7KUfz81Oc+i NrP/TF2Rkqbei5KNyqLE/K3W+N6+0dmLX0pbndv4divzpHT0UsDI/9EYD9DEfLrUhtW24isNovk ovYkiPjhVyAMuhnX5RDmleYGml6n2WpebIghKA2A+Odfy2jihOTQY+I/4Tf4qK8TcTlD0/Vgpx X-Received: by 2002:a05:6000:290d:b0:439:d74f:da94 with SMTP id ffacd0b85a97d-439da354a39mr25542512f8f.5.1773139527026; Tue, 10 Mar 2026 03:45:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 02/16] tcg/optimize: Lower unsupported deposit during optimize Date: Tue, 10 Mar 2026 11:44:57 +0100 Message-ID: <20260310104511.12670-3-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139568071154100 From: Richard Henderson The expansions that we chose in tcg-op.c may be less than optimal. Delay lowering until optimize, so that we have propagated constants and have computed known zero/one masks. Reviewed-by: Jim MacArthur Signed-off-by: Richard Henderson Message-ID: <20260303010833.1115741-3-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/optimize.c | 179 +++++++++++++++++++++++++++++++++++++++++++------ tcg/tcg-op.c | 83 ++--------------------- 2 files changed, 163 insertions(+), 99 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 801a0a2c686..42637c12fa1 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1652,12 +1652,17 @@ static bool fold_ctpop(OptContext *ctx, TCGOp *op) =20 static bool fold_deposit(OptContext *ctx, TCGOp *op) { - TempOptInfo *t1 =3D arg_info(op->args[1]); - TempOptInfo *t2 =3D arg_info(op->args[2]); + TCGArg ret =3D op->args[0]; + TCGArg arg1 =3D op->args[1]; + TCGArg arg2 =3D op->args[2]; int ofs =3D op->args[3]; int len =3D op->args[4]; - int width =3D 8 * tcg_type_size(ctx->type); - uint64_t z_mask, o_mask, s_mask; + TempOptInfo *t1 =3D arg_info(arg1); + TempOptInfo *t2 =3D arg_info(arg2); + int width; + uint64_t z_mask, o_mask, s_mask, type_mask, len_mask; + TCGOp *op2; + bool valid; =20 if (ti_is_const(t1) && ti_is_const(t2)) { return tcg_opt_gen_movi(ctx, op, op->args[0], @@ -1665,35 +1670,167 @@ static bool fold_deposit(OptContext *ctx, TCGOp *o= p) ti_const_val(t2))); } =20 - /* Inserting a value into zero at offset 0. */ - if (ti_is_const_val(t1, 0) && ofs =3D=3D 0) { - uint64_t mask =3D MAKE_64BIT_MASK(0, len); + width =3D 8 * tcg_type_size(ctx->type); + type_mask =3D MAKE_64BIT_MASK(0, width); + len_mask =3D MAKE_64BIT_MASK(0, len); =20 + /* Inserting all-zero into a value. */ + if ((t2->z_mask & len_mask) =3D=3D 0) { op->opc =3D INDEX_op_and; - op->args[1] =3D op->args[2]; - op->args[2] =3D arg_new_constant(ctx, mask); + op->args[2] =3D arg_new_constant(ctx, ~(len_mask << ofs)); return fold_and(ctx, op); } =20 - /* Inserting zero into a value. */ - if (ti_is_const_val(t2, 0)) { - uint64_t mask =3D deposit64(-1, ofs, len, 0); - - op->opc =3D INDEX_op_and; - op->args[2] =3D arg_new_constant(ctx, mask); - return fold_and(ctx, op); + /* Inserting all-one into a value. */ + if ((t2->o_mask & len_mask) =3D=3D len_mask) { + op->opc =3D INDEX_op_or; + op->args[2] =3D arg_new_constant(ctx, len_mask << ofs); + return fold_or(ctx, op); } =20 - /* The s_mask from the top portion of the deposit is still valid. */ - if (ofs + len =3D=3D width) { - s_mask =3D t2->s_mask << ofs; - } else { - s_mask =3D t1->s_mask & ~MAKE_64BIT_MASK(0, ofs + len); + valid =3D TCG_TARGET_deposit_valid(ctx->type, ofs, len); + + /* Lower invalid deposit of constant as AND + OR. */ + if (!valid && ti_is_const(t2)) { + uint64_t ins_val =3D (ti_const_val(t2) & len_mask) << ofs; + + op2 =3D opt_insert_before(ctx, op, INDEX_op_and, 3); + op2->args[0] =3D ret; + op2->args[1] =3D arg1; + op2->args[2] =3D arg_new_constant(ctx, ~(len_mask << ofs)); + fold_and(ctx, op2); + + op->opc =3D INDEX_op_or; + op->args[1] =3D ret; + op->args[2] =3D arg_new_constant(ctx, ins_val); + return fold_or(ctx, op); } =20 + /* + * Compute result masks before calling other fold_* subroutines + * which could modify the masks of our inputs. + */ z_mask =3D deposit64(t1->z_mask, ofs, len, t2->z_mask); o_mask =3D deposit64(t1->o_mask, ofs, len, t2->o_mask); + if (ofs + len < width) { + s_mask =3D t1->s_mask & ~MAKE_64BIT_MASK(0, ofs + len); + } else { + s_mask =3D t2->s_mask << ofs; + } =20 + /* Inserting a value into zero. */ + if (ti_is_const_val(t1, 0)) { + uint64_t need_mask; + + /* Always lower deposit into zero at 0 as AND. */ + if (ofs =3D=3D 0) { + op->opc =3D INDEX_op_and; + op->args[1] =3D arg2; + op->args[2] =3D arg_new_constant(ctx, len_mask); + return fold_and(ctx, op); + } + + /* + * If the portion of the value outside len that remains after + * shifting is zero, we can elide the mask and just shift. + */ + need_mask =3D t2->z_mask & ~len_mask; + need_mask =3D (need_mask << ofs) & type_mask; + if (!need_mask) { + op->opc =3D INDEX_op_shl; + op->args[1] =3D arg2; + op->args[2] =3D arg_new_constant(ctx, ofs); + goto done; + } + + /* Lower invalid deposit into zero as AND + SHL. */ + if (!valid) { + op2 =3D opt_insert_before(ctx, op, INDEX_op_and, 3); + op2->args[0] =3D ret; + op2->args[1] =3D arg2; + op2->args[2] =3D arg_new_constant(ctx, len_mask); + fold_and(ctx, op2); + + op->opc =3D INDEX_op_shl; + op->args[1] =3D ret; + op->args[2] =3D arg_new_constant(ctx, ofs); + goto done; + } + } + + /* After special cases, lower invalid deposit. */ + if (!valid) { + TCGArg tmp; + + if (tcg_op_supported(INDEX_op_extract2, ctx->type, 0)) { + if (ofs =3D=3D 0 && tcg_op_supported(INDEX_op_rotl, ctx->type,= 0)) { + /* + * ret =3D arg2:arg1 >> len + * ret =3D rotl(ret, len) + */ + op2 =3D opt_insert_before(ctx, op, INDEX_op_extract2, 4); + op2->args[0] =3D ret; + op2->args[1] =3D arg1; + op2->args[2] =3D arg2; + op2->args[3] =3D len; + + op->opc =3D INDEX_op_rotl; + op->args[1] =3D ret; + op->args[2] =3D arg_new_constant(ctx, len); + goto done; + } + if (ofs + len =3D=3D width) { + /* + * tmp =3D arg1 << len + * ret =3D arg2:tmp >> len + */ + tmp =3D ret =3D=3D arg2 ? arg_new_temp(ctx) : ret; + + op2 =3D opt_insert_before(ctx, op, INDEX_op_shl, 4); + op2->args[0] =3D tmp; + op2->args[1] =3D arg1; + op2->args[2] =3D arg_new_constant(ctx, len); + + op->opc =3D INDEX_op_extract2; + op->args[0] =3D ret; + op->args[1] =3D tmp; + op->args[2] =3D arg2; + op->args[3] =3D len; + goto done; + } + } + + /* + * tmp =3D arg2 & mask + * ret =3D arg1 & ~(mask << ofs) + * tmp =3D tmp << ofs + * ret =3D ret | tmp + */ + tmp =3D arg_new_temp(ctx); + + op2 =3D opt_insert_before(ctx, op, INDEX_op_and, 3); + op2->args[0] =3D tmp; + op2->args[1] =3D arg2; + op2->args[2] =3D arg_new_constant(ctx, len_mask); + fold_and(ctx, op2); + + op2 =3D opt_insert_before(ctx, op, INDEX_op_shl, 3); + op2->args[0] =3D tmp; + op2->args[1] =3D tmp; + op2->args[2] =3D arg_new_constant(ctx, ofs); + + op2 =3D opt_insert_before(ctx, op, INDEX_op_and, 3); + op2->args[0] =3D ret; + op2->args[1] =3D arg1; + op2->args[2] =3D arg_new_constant(ctx, ~(len_mask << ofs)); + fold_and(ctx, op2); + + op->opc =3D INDEX_op_or; + op->args[1] =3D ret; + op->args[2] =3D tmp; + } + + done: return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index b95b07efb57..96f72ba381c 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -876,9 +876,6 @@ void tcg_gen_rotri_i32(TCGv_i32 ret, TCGv_i32 arg1, int= 32_t arg2) void tcg_gen_deposit_i32(TCGv_i32 ret, TCGv_i32 arg1, TCGv_i32 arg2, unsigned int ofs, unsigned int len) { - uint32_t mask; - TCGv_i32 t1; - tcg_debug_assert(ofs < 32); tcg_debug_assert(len > 0); tcg_debug_assert(len <=3D 32); @@ -886,39 +883,9 @@ void tcg_gen_deposit_i32(TCGv_i32 ret, TCGv_i32 arg1, = TCGv_i32 arg2, =20 if (len =3D=3D 32) { tcg_gen_mov_i32(ret, arg2); - return; - } - if (TCG_TARGET_deposit_valid(TCG_TYPE_I32, ofs, len)) { - tcg_gen_op5ii_i32(INDEX_op_deposit, ret, arg1, arg2, ofs, len); - return; - } - - t1 =3D tcg_temp_ebb_new_i32(); - - if (tcg_op_supported(INDEX_op_extract2, TCG_TYPE_I32, 0)) { - if (ofs + len =3D=3D 32) { - tcg_gen_shli_i32(t1, arg1, len); - tcg_gen_extract2_i32(ret, t1, arg2, len); - goto done; - } - if (ofs =3D=3D 0) { - tcg_gen_extract2_i32(ret, arg1, arg2, len); - tcg_gen_rotli_i32(ret, ret, len); - goto done; - } - } - - mask =3D (1u << len) - 1; - if (ofs + len < 32) { - tcg_gen_andi_i32(t1, arg2, mask); - tcg_gen_shli_i32(t1, t1, ofs); } else { - tcg_gen_shli_i32(t1, arg2, ofs); + tcg_gen_op5ii_i32(INDEX_op_deposit, ret, arg1, arg2, ofs, len); } - tcg_gen_andi_i32(ret, arg1, ~(mask << ofs)); - tcg_gen_or_i32(ret, ret, t1); - done: - tcg_temp_free_i32(t1); } =20 void tcg_gen_deposit_z_i32(TCGv_i32 ret, TCGv_i32 arg, @@ -932,13 +899,10 @@ void tcg_gen_deposit_z_i32(TCGv_i32 ret, TCGv_i32 arg, if (ofs + len =3D=3D 32) { tcg_gen_shli_i32(ret, arg, ofs); } else if (ofs =3D=3D 0) { - tcg_gen_andi_i32(ret, arg, (1u << len) - 1); - } else if (TCG_TARGET_deposit_valid(TCG_TYPE_I32, ofs, len)) { + tcg_gen_extract_i32(ret, arg, 0, len); + } else { TCGv_i32 zero =3D tcg_constant_i32(0); tcg_gen_op5ii_i32(INDEX_op_deposit, ret, zero, arg, ofs, len); - } else { - tcg_gen_andi_i32(ret, arg, (1u << len) - 1); - tcg_gen_shli_i32(ret, ret, ofs); } } =20 @@ -2133,9 +2097,6 @@ void tcg_gen_rotri_i64(TCGv_i64 ret, TCGv_i64 arg1, i= nt64_t arg2) void tcg_gen_deposit_i64(TCGv_i64 ret, TCGv_i64 arg1, TCGv_i64 arg2, unsigned int ofs, unsigned int len) { - uint64_t mask; - TCGv_i64 t1; - tcg_debug_assert(ofs < 64); tcg_debug_assert(len > 0); tcg_debug_assert(len <=3D 64); @@ -2143,40 +2104,9 @@ void tcg_gen_deposit_i64(TCGv_i64 ret, TCGv_i64 arg1= , TCGv_i64 arg2, =20 if (len =3D=3D 64) { tcg_gen_mov_i64(ret, arg2); - return; - } - - if (TCG_TARGET_deposit_valid(TCG_TYPE_I64, ofs, len)) { - tcg_gen_op5ii_i64(INDEX_op_deposit, ret, arg1, arg2, ofs, len); - return; - } - - t1 =3D tcg_temp_ebb_new_i64(); - - if (tcg_op_supported(INDEX_op_extract2, TCG_TYPE_I64, 0)) { - if (ofs + len =3D=3D 64) { - tcg_gen_shli_i64(t1, arg1, len); - tcg_gen_extract2_i64(ret, t1, arg2, len); - goto done; - } - if (ofs =3D=3D 0) { - tcg_gen_extract2_i64(ret, arg1, arg2, len); - tcg_gen_rotli_i64(ret, ret, len); - goto done; - } - } - - mask =3D (1ull << len) - 1; - if (ofs + len < 64) { - tcg_gen_andi_i64(t1, arg2, mask); - tcg_gen_shli_i64(t1, t1, ofs); } else { - tcg_gen_shli_i64(t1, arg2, ofs); + tcg_gen_op5ii_i64(INDEX_op_deposit, ret, arg1, arg2, ofs, len); } - tcg_gen_andi_i64(ret, arg1, ~(mask << ofs)); - tcg_gen_or_i64(ret, ret, t1); - done: - tcg_temp_free_i64(t1); } =20 void tcg_gen_deposit_z_i64(TCGv_i64 ret, TCGv_i64 arg, @@ -2191,12 +2121,9 @@ void tcg_gen_deposit_z_i64(TCGv_i64 ret, TCGv_i64 ar= g, tcg_gen_shli_i64(ret, arg, ofs); } else if (ofs =3D=3D 0) { tcg_gen_andi_i64(ret, arg, (1ull << len) - 1); - } else if (TCG_TARGET_deposit_valid(TCG_TYPE_I64, ofs, len)) { + } else { TCGv_i64 zero =3D tcg_constant_i64(0); tcg_gen_op5ii_i64(INDEX_op_deposit, ret, zero, arg, ofs, len); - } else { - tcg_gen_andi_i64(ret, arg, (1ull << len) - 1); - tcg_gen_shli_i64(ret, ret, ofs); } } =20 --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139565; cv=none; d=zohomail.com; s=zohoarc; b=EypU6SZHR4nKrtr0EVQ6yyAR36VQFRlBriTOrQ963i12zFMGhLhJVJw0IIZH0HxDZBG4UB93r4EC/Nv3szlJV3TlgS7f8/djHl33xNxfA02Nt7S+9t1neZD26xX887vIDIE0I8CbO+3HRYgR5KO4gQwvCN2DWhqlnWO8SxOHPhA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139565; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=xvcbVnQK7TqEbDYcqZDEeDs6/ajmpdQvJ51L+fPuY3k=; b=HFADVq5Z4Bwz3gHn6Rke5hFb94/HsRBcjYYqjhXWoiHvZTtbvPw4OH1BTVJme0zEb82g/XTQGm5swnkLqHOcTHEUNHKMJVE1n6BJtnz7Mjidhu28gJzeVZaXAq8law7bfaPefPdwT3fMZWuHQIGGEqgpi6La8RKqyWK7rgKL+kA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139565212721.6930751934822; Tue, 10 Mar 2026 03:46:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzuap-00072Y-ST; Tue, 10 Mar 2026 06:45:39 -0400 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 1vzuao-000721-4B for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:38 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuam-0005ml-DQ for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:37 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-439d8df7620so2776425f8f.0 for ; Tue, 10 Mar 2026 03:45:35 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48541aad45fsm75314235e9.15.2026.03.10.03.45.32 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139534; x=1773744334; 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=xvcbVnQK7TqEbDYcqZDEeDs6/ajmpdQvJ51L+fPuY3k=; b=AmZrE4Dk+32wxAQZua7dWv9HrgYoedlH6M6GgrDJNO4+YMVchBhVF8n2WoGeSPqJa4 EQfAxPGycD5+OYm+biQE2P/Jaxc2Gwtj958o3mzxN6D/ODmoTV+AApAeqGvfswalSdCb 6gy0iRGN75e1OyRINfNEMPBZwlKFdBlFbAC5aeKOcCanGhLd9NxjBxwI+AtaunbVUeOg /UWnyMgY7JwVVVbMPTxbpTKc+6dS4rWOadQ1yuGQCr1fPrMivs0D/VLt87zu/2QfoJ6C i9wrUCt8tB8ib5XiT3K/nf+uFQYc2zzhFP7acrrWCFEEkx2Uef7B88Lxhg3g8ESnWCru CLGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139534; x=1773744334; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=xvcbVnQK7TqEbDYcqZDEeDs6/ajmpdQvJ51L+fPuY3k=; b=k7W51ZP2F/kch0WQ245jz3Op87D3yzkqZ8jt2xM+4YO37XosTXO56DtlDSOJ8w0NW2 Wg7d/THwBHNRGG+vpZs3yYxmqwBooF6TtlZWOhh+tLYBaecfOYauV9qJ2wY1A9kQkerV lw1vViZ4YqNim1X/bLVOi67fBlGC8oB6wv8heNytjaYO/dn5FVPo+nj88HOfHar4QVP7 zWPjQKEsD06Lf6NNJnjdP7Tf/iciQZObohJW0VlGrZusp6VI8NTrUzfiAeAufsXsC6ka sLjcUUIZ7+AR009npfNRJFQkXZtjGxbWCZE9bCp/KkZDJ34J+c961tpx1lXOi+7A3sR6 U9hA== X-Gm-Message-State: AOJu0YyoiU/j7uYgDw9z5EGZn1Zyb0O4LZLsE87S+SNJcZoq51AacFYc PYzJzKt7ivEOkzuo+62BWnzmRqjihrtB1TYZm83dlvukbcQ1YMJvlDDymWVgWIfT9I0x+T4buZG XipGCu4Q= X-Gm-Gg: ATEYQzyvTKh98cZYuRsmhXi1w0QqoInJZV/QH/3Bf4tfLFChUNU0CWbsYQ1dlpi/Wxx rn7uag+pSDzwNZB6LoJ5zlPWlRlMDVbVIjL2Zg7tR8dmNbPnQUdqiC1XdFU5gdbznufv17DVdKJ nvkj3zj3RabieUkvaEJQtQu/EZU+FATEIvBewXhNh0TTQguMizGuhgjgwMTAb2Z6S84NlXWOGmA R15rgI5FeEoV4//H2sIlAp1W44kvSOUVkxE3LPIl+dBX7vlNX9z15zZxfEAbCkmMfYcFsgsc8od EmU1/2GYt+Sx+BbOURyLbQW4oxNQV0//NoefqFFumqrlotRPRktBCw7sfqkbLw5atj5MQLPs6AY EwOTYOtI1yU+l8b0D53MCSDkWvAlsER4Nsj8tn4Zk/0C+ex+3RUtHR6aiWJP9d49YbAYaqngjQj W7G04u0pzG1Sjn006ZLoNviSZm+25zjTensh2O++IBKHlj5ZacMEzJZR+ma7urJoaPTj/pPhTk X-Received: by 2002:a05:600c:8708:b0:485:3c8f:e4c5 with SMTP id 5b1f17b1804b1-4853c8fe526mr79876795e9.17.1773139533739; Tue, 10 Mar 2026 03:45:33 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 03/16] tcg/optimize: Lower unsupported extract2 during optimize Date: Tue, 10 Mar 2026 11:44:58 +0100 Message-ID: <20260310104511.12670-4-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139568090158500 From: Richard Henderson The expansions that we chose in tcg-op.c may be less than optimal. Delay lowering until optimize, so that we have propagated constants and have computed known zero/one masks. Reviewed-by: Jim MacArthur Reviewed-by: Manos Pitsidianakis Signed-off-by: Richard Henderson Message-ID: <20260303010833.1115741-4-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/optimize.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++---- tcg/tcg-op.c | 14 ++--------- 2 files changed, 60 insertions(+), 17 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 42637c12fa1..59761c2c844 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1918,21 +1918,74 @@ static bool fold_extract2(OptContext *ctx, TCGOp *o= p) uint64_t z2 =3D t2->z_mask; uint64_t o1 =3D t1->o_mask; uint64_t o2 =3D t2->o_mask; + uint64_t zr, or; int shr =3D op->args[3]; + int shl; =20 if (ctx->type =3D=3D TCG_TYPE_I32) { z1 =3D (uint32_t)z1 >> shr; o1 =3D (uint32_t)o1 >> shr; - z2 =3D (uint64_t)((int32_t)z2 << (32 - shr)); - o2 =3D (uint64_t)((int32_t)o2 << (32 - shr)); + shl =3D 32 - shr; + z2 =3D (uint64_t)((int32_t)z2 << shl); + o2 =3D (uint64_t)((int32_t)o2 << shl); } else { z1 >>=3D shr; o1 >>=3D shr; - z2 <<=3D 64 - shr; - o2 <<=3D 64 - shr; + shl =3D 64 - shr; + z2 <<=3D shl; + o2 <<=3D shl; + } + zr =3D z1 | z2; + or =3D o1 | o2; + + if (zr =3D=3D or) { + return tcg_opt_gen_movi(ctx, op, op->args[0], zr); } =20 - return fold_masks_zo(ctx, op, z1 | z2, o1 | o2); + if (z2 =3D=3D 0) { + /* High part zeros folds to simple right shift. */ + op->opc =3D INDEX_op_shr; + op->args[2] =3D arg_new_constant(ctx, shr); + } else if (z1 =3D=3D 0) { + /* Low part zeros folds to simple left shift. */ + op->opc =3D INDEX_op_shl; + op->args[1] =3D op->args[2]; + op->args[2] =3D arg_new_constant(ctx, shl); + } else if (!tcg_op_supported(INDEX_op_extract2, ctx->type, 0)) { + TCGArg tmp =3D arg_new_temp(ctx); + TCGOp *op2 =3D opt_insert_before(ctx, op, INDEX_op_shr, 3); + + op2->args[0] =3D tmp; + op2->args[1] =3D op->args[1]; + op2->args[2] =3D arg_new_constant(ctx, shr); + + if (TCG_TARGET_deposit_valid(ctx->type, shl, shr)) { + /* + * Deposit has more arguments than extract2, + * so we need to create a new TCGOp. + */ + op2 =3D opt_insert_before(ctx, op, INDEX_op_deposit, 5); + op2->args[0] =3D op->args[0]; + op2->args[1] =3D tmp; + op2->args[2] =3D op->args[2]; + op2->args[3] =3D shl; + op2->args[4] =3D shr; + + tcg_op_remove(ctx->tcg, op); + op =3D op2; + } else { + op2 =3D opt_insert_before(ctx, op, INDEX_op_shl, 3); + op2->args[0] =3D op->args[0]; + op2->args[1] =3D op->args[2]; + op2->args[2] =3D arg_new_constant(ctx, shl); + + op->opc =3D INDEX_op_or; + op->args[1] =3D op->args[0]; + op->args[2] =3D tmp; + } + } + + return fold_masks_zo(ctx, op, zr, or); } =20 static bool fold_exts(OptContext *ctx, TCGOp *op) diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index 96f72ba381c..fc2254f54a7 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -1000,13 +1000,8 @@ void tcg_gen_extract2_i32(TCGv_i32 ret, TCGv_i32 al,= TCGv_i32 ah, tcg_gen_mov_i32(ret, ah); } else if (al =3D=3D ah) { tcg_gen_rotri_i32(ret, al, ofs); - } else if (tcg_op_supported(INDEX_op_extract2, TCG_TYPE_I32, 0)) { - tcg_gen_op4i_i32(INDEX_op_extract2, ret, al, ah, ofs); } else { - TCGv_i32 t0 =3D tcg_temp_ebb_new_i32(); - tcg_gen_shri_i32(t0, al, ofs); - tcg_gen_deposit_i32(ret, t0, ah, 32 - ofs, ofs); - tcg_temp_free_i32(t0); + tcg_gen_op4i_i32(INDEX_op_extract2, ret, al, ah, ofs); } } =20 @@ -2221,13 +2216,8 @@ void tcg_gen_extract2_i64(TCGv_i64 ret, TCGv_i64 al,= TCGv_i64 ah, tcg_gen_mov_i64(ret, ah); } else if (al =3D=3D ah) { tcg_gen_rotri_i64(ret, al, ofs); - } else if (tcg_op_supported(INDEX_op_extract2, TCG_TYPE_I64, 0)) { - tcg_gen_op4i_i64(INDEX_op_extract2, ret, al, ah, ofs); } else { - TCGv_i64 t0 =3D tcg_temp_ebb_new_i64(); - tcg_gen_shri_i64(t0, al, ofs); - tcg_gen_deposit_i64(ret, t0, ah, 64 - ofs, ofs); - tcg_temp_free_i64(t0); + tcg_gen_op4i_i64(INDEX_op_extract2, ret, al, ah, ofs); } } =20 --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139564; cv=none; d=zohomail.com; s=zohoarc; b=VzRv0b4xbyhejQIsUdJXD3EQqh0f2t9dcCbAsT6uyUFSON8/LME/bl7HM/uKWV5UQaFEReb8GO7wqEuv+2L/Mm8pbUSg27hKJsLFExWLSNw3Ky4vG879Ew4VQfmCQqaoVpoxIwxnD4ZpVEbWGh5Ts50dDvGuYTqF0jdx3mwvnkQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139564; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=f2cs4P4TlpSelIffNIKB/PcbqXUE1cGZjo1hKrHbVqQ=; b=bJAFP9ekGLQVjpMJQwZSV+Ec6GNC93PoU5Nk8Wi/tT1M7TUN4t/Y4M8bGtf1W3+hOt+F2k9vYi8dXOr/2/pQqqr40d5XVKEKBC5ga5pqXjAjg0geIpRjaMp6siQiL+EkzcAQAXXUIGHQ1wqSjvh1ojL/7pXfUmvzBpP+Hx9WkyY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139564766311.89047793144596; Tue, 10 Mar 2026 03:46:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzuav-000737-Ms; Tue, 10 Mar 2026 06:45:45 -0400 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 1vzuau-00072y-5T for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:44 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuas-0005ni-90 for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:43 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-439c9bdc1eeso3216410f8f.3 for ; Tue, 10 Mar 2026 03:45:41 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dae49177sm33927411f8f.35.2026.03.10.03.45.39 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139540; x=1773744340; 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=f2cs4P4TlpSelIffNIKB/PcbqXUE1cGZjo1hKrHbVqQ=; b=L5ACfr8R+fNF8w9q/JL5EUypNUlEvdeZOsCXE4x4MKtrTYMfnSsi1xGzJhXLyoDqzy 31QQL2XGm3FE4Ho3rAApbCQtXG7IPq2j3+DrTInNwqvRhkSLAnPvCo4ITwDDXb/9WbhH GtOePWztGpE1kCgsMF2xz56RK0tt82Q6zYgvyi734EWlQ664P3DXODAD5CC3IuRejh95 ZUytf8Z/btbd0pJJj/vad5/DFW2ctMsbm4+iePrvdjSNC5CTXyF9dErKKtsz6+mt4P6Q W9YsvUfDKZiHMSxkkaD7oWzp3KAXJtbAm+YxLOc0UTsYQchjW7MvD4I2VrT3TTDhZq0x Cfgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139540; x=1773744340; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=f2cs4P4TlpSelIffNIKB/PcbqXUE1cGZjo1hKrHbVqQ=; b=v/fjmBgrkP4JV227eJRWbvywDhcQGTqyZ4OXdPa242IT8NUbRC/NAoJuFv3en/DjhP LY9u9f1FjKumJpWmG82cEpjqNbibKXuJm2YZvfCDTrNTA3YcJnvpYiz6wL0TF12jF5tR YTpJmUW7Lw+IIMhmGpRtzY6hDQNupcm6xREWAiA6EGmAdF1jhLEDn7hIcCAlMDIL+P69 w0lSvuSWPMml59cykuvRRQt964AAnEmUGLtzgoJ2JNJAmug1P2q4246MlePg56yK35YR gochJcCd605Pvr8Y1dnhOaN9CuthF4agGF9+Bs8CAx75KQdsQPIVk/c5fOevhEn/vWtu n12Q== X-Gm-Message-State: AOJu0Yz0LFYp7hntQWTLzh0S6hL1d+4Skrl/k/jExWOCY1p5qMVhrzVJ Y4uDvJLaBafnLeVrMboVwNq+6GDpRCQkZUuQI5uAqhhjrgf5jXP/NR4y3gkVmLda94bFFBcQcwp /94xyzVE= X-Gm-Gg: ATEYQzzw8jaNtJvIJgBDzXs2Zm5bWoZfOk3RBMz7LAiJLs0PZO76yMqBEyXV3FfzC+R /qxbSrhS5wNsYOffixr6+A6ynZZavUE3GM/Qjz4fDwG2Jeo+gOHRCfTG1z3a0qYf6jOpzWdBuin H9J1lQv6duhQk0m+Dlzvkaatw4idX8do8iSPJkKDdpFalAvsNxtaoWAAvJt3+JZ17++irREVsPX 5bVRqcuNVohhVUfET6lh7CFrgrQdprGvd34oP+aJJLUaRom52PVS+K36GBVi6yIdfl9vYYgNAZK KNOfQ6JGbpgYT9jbQkEoE8Ay9Noj3FybCqX0rXD94rBcLWjx94xknkLLKmv3RL0CEYlGytBPRnk Xxu83as2QIypcqAV584T4RxL7r3bggUDwqQOvUOavIhOeuNGdIf5L5GNUJAh0uzPSyA8hPgrenS 76TqRODWvCojhIyIM5mbpARl9A9o563tafPMOvV7wcOwrbStJ5YAB2Jh1/3w6S9w4CI4pUi0Aa X-Received: by 2002:a05:6000:2506:b0:439:ae2a:755e with SMTP id ffacd0b85a97d-439da35fa91mr25974000f8f.23.1773139540444; Tue, 10 Mar 2026 03:45:40 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 04/16] tcg: Expand missing rotri with extract2 Date: Tue, 10 Mar 2026 11:44:59 +0100 Message-ID: <20260310104511.12670-5-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139568586154100 From: Richard Henderson Use extract2 to implement rotri. To make this easier, redefine rotli in terms of rotri, rather than the reverse. Reviewed-by: Jim MacArthur Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260303010833.1115741-5-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/tcg-op.c | 52 ++++++++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index fc2254f54a7..13a56d89fa1 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -826,23 +826,12 @@ void tcg_gen_rotl_i32(TCGv_i32 ret, TCGv_i32 arg1, TC= Gv_i32 arg2) void tcg_gen_rotli_i32(TCGv_i32 ret, TCGv_i32 arg1, int32_t arg2) { tcg_debug_assert(arg2 >=3D 0 && arg2 < 32); - /* some cases can be optimized here */ if (arg2 =3D=3D 0) { tcg_gen_mov_i32(ret, arg1); } else if (tcg_op_supported(INDEX_op_rotl, TCG_TYPE_I32, 0)) { - TCGv_i32 t0 =3D tcg_constant_i32(arg2); - tcg_gen_op3_i32(INDEX_op_rotl, ret, arg1, t0); - } else if (tcg_op_supported(INDEX_op_rotr, TCG_TYPE_I32, 0)) { - TCGv_i32 t0 =3D tcg_constant_i32(32 - arg2); - tcg_gen_op3_i32(INDEX_op_rotr, ret, arg1, t0); + tcg_gen_op3_i32(INDEX_op_rotl, ret, arg1, tcg_constant_i32(arg2)); } else { - TCGv_i32 t0 =3D tcg_temp_ebb_new_i32(); - TCGv_i32 t1 =3D tcg_temp_ebb_new_i32(); - tcg_gen_shli_i32(t0, arg1, arg2); - tcg_gen_shri_i32(t1, arg1, 32 - arg2); - tcg_gen_or_i32(ret, t0, t1); - tcg_temp_free_i32(t0); - tcg_temp_free_i32(t1); + tcg_gen_rotri_i32(ret, arg1, -arg2 & 31); } } =20 @@ -870,7 +859,16 @@ void tcg_gen_rotr_i32(TCGv_i32 ret, TCGv_i32 arg1, TCG= v_i32 arg2) void tcg_gen_rotri_i32(TCGv_i32 ret, TCGv_i32 arg1, int32_t arg2) { tcg_debug_assert(arg2 >=3D 0 && arg2 < 32); - tcg_gen_rotli_i32(ret, arg1, -arg2 & 31); + if (arg2 =3D=3D 0) { + tcg_gen_mov_i32(ret, arg1); + } else if (tcg_op_supported(INDEX_op_rotr, TCG_TYPE_I32, 0)) { + tcg_gen_op3_i32(INDEX_op_rotr, ret, arg1, tcg_constant_i32(arg2)); + } else if (tcg_op_supported(INDEX_op_rotl, TCG_TYPE_I32, 0)) { + tcg_gen_op3_i32(INDEX_op_rotl, ret, arg1, tcg_constant_i32(32 - ar= g2)); + } else { + /* Do not recurse with the rotri simplification. */ + tcg_gen_op4i_i32(INDEX_op_extract2, ret, arg1, arg1, arg2); + } } =20 void tcg_gen_deposit_i32(TCGv_i32 ret, TCGv_i32 arg1, TCGv_i32 arg2, @@ -2042,23 +2040,12 @@ void tcg_gen_rotl_i64(TCGv_i64 ret, TCGv_i64 arg1, = TCGv_i64 arg2) void tcg_gen_rotli_i64(TCGv_i64 ret, TCGv_i64 arg1, int64_t arg2) { tcg_debug_assert(arg2 >=3D 0 && arg2 < 64); - /* some cases can be optimized here */ if (arg2 =3D=3D 0) { tcg_gen_mov_i64(ret, arg1); } else if (tcg_op_supported(INDEX_op_rotl, TCG_TYPE_I64, 0)) { - TCGv_i64 t0 =3D tcg_constant_i64(arg2); - tcg_gen_op3_i64(INDEX_op_rotl, ret, arg1, t0); - } else if (tcg_op_supported(INDEX_op_rotr, TCG_TYPE_I64, 0)) { - TCGv_i64 t0 =3D tcg_constant_i64(64 - arg2); - tcg_gen_op3_i64(INDEX_op_rotr, ret, arg1, t0); + tcg_gen_op3_i64(INDEX_op_rotl, ret, arg1, tcg_constant_i64(arg2)); } else { - TCGv_i64 t0 =3D tcg_temp_ebb_new_i64(); - TCGv_i64 t1 =3D tcg_temp_ebb_new_i64(); - tcg_gen_shli_i64(t0, arg1, arg2); - tcg_gen_shri_i64(t1, arg1, 64 - arg2); - tcg_gen_or_i64(ret, t0, t1); - tcg_temp_free_i64(t0); - tcg_temp_free_i64(t1); + tcg_gen_rotri_i64(ret, arg1, -arg2 & 63); } } =20 @@ -2086,7 +2073,16 @@ void tcg_gen_rotr_i64(TCGv_i64 ret, TCGv_i64 arg1, T= CGv_i64 arg2) void tcg_gen_rotri_i64(TCGv_i64 ret, TCGv_i64 arg1, int64_t arg2) { tcg_debug_assert(arg2 >=3D 0 && arg2 < 64); - tcg_gen_rotli_i64(ret, arg1, -arg2 & 63); + if (arg2 =3D=3D 0) { + tcg_gen_mov_i64(ret, arg1); + } else if (tcg_op_supported(INDEX_op_rotr, TCG_TYPE_I64, 0)) { + tcg_gen_op3_i64(INDEX_op_rotr, ret, arg1, tcg_constant_i64(arg2)); + } else if (tcg_op_supported(INDEX_op_rotl, TCG_TYPE_I64, 0)) { + tcg_gen_op3_i64(INDEX_op_rotl, ret, arg1, tcg_constant_i64(64 - ar= g2)); + } else { + /* Do not recurse with the rotri simplification. */ + tcg_gen_op4i_i64(INDEX_op_extract2, ret, arg1, arg1, arg2); + } } =20 void tcg_gen_deposit_i64(TCGv_i64 ret, TCGv_i64 arg1, TCGv_i64 arg2, --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139627; cv=none; d=zohomail.com; s=zohoarc; b=E3tbxQPcWtBpZaRcdrZJVnUB7KITCAO1KKACuLsjw0XLGhCt1m+Gtes+o2Uzb/7xBWcnUpTC8skUInHlbv1bHTD1gGSFkVNUJLROtSSFVCkV+NLn+NW16QWmIfwa9XZhJTlP6MegaaVHRw867P2MJOnvFye7U4M5q5LMxgqXvE4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139627; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Sz4Zj3xRZlzSb5pL9wYtWvSc/eh/YqpNHjaGsP/aUlo=; b=npaguP873HNk+D0FhZ+6CNsAuRnNWLVHcFouX2xX5FGHvHHkrzC5jGdPU9DhQ8ae9UJV8rJHEwofrwlSS/xd1IkA/oDv1P7GylivLrPzGv0TYFNMYxRLcwgUJGDcx7eN+Z2WQGUwB1QPyl7JoPKGobj+bQ4W4i6lFii1fRwKnoA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177313962781253.17606681601137; Tue, 10 Mar 2026 03:47:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzub2-00074N-6e; Tue, 10 Mar 2026 06:45:52 -0400 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 1vzub0-00073t-9r for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:50 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuay-0005og-OT for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:50 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4852afd42ceso34091725e9.2 for ; Tue, 10 Mar 2026 03:45:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48541ad1e4esm67752005e9.8.2026.03.10.03.45.46 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139547; x=1773744347; 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=Sz4Zj3xRZlzSb5pL9wYtWvSc/eh/YqpNHjaGsP/aUlo=; b=Ep/aIq7etFVg/h9ecFnQL0cotCoc27CH9oL34hCx2XT4MlV155roP877iM+KCV7Iqi FnjSlizwt4UkmMyKcbJ/gRxJflS+LGs2VwfU5UAu/WzrG6UsITc7vIBu/QQW9W+sthox nlRJXM+iIzD8mzjXImxezCIXwHHyUGATb4naGpcPW44NxLR0AC21nw/1C8k0SVFY6fhe rXujN5bJjFNV7pjggPniTdMUh78KuqDo29uAEGz/r/Bl/pM+qb+Cz+ozm+bn1Od1F/eu NTflyXo0zsheG/uR3OAUUPdWMRgh6lkVI5Yz+D3bD87CduuqEu5BIe3lsP64sEXwVDXG /fSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139547; x=1773744347; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Sz4Zj3xRZlzSb5pL9wYtWvSc/eh/YqpNHjaGsP/aUlo=; b=mMt0OOzQ4t46gCK6sh5JXWaTATO/vpsG1I0he0Q/ksg77rs4jRynahsKR7SZCEnEbX B2993HTNTvQWMHsyDhKqh9ZaxVYPDkUAXegCXl0V5KtX5SVjr+GOQALzhWAa5htXhCns XnbWEHP1FMwkNtdsTsMsd0Jdq9Zr9WGuBdattUacxt8h9dm0qKERFATJQmzOjCcWvdn6 3uLNHhyiI1L+usFlpf/dy+84REMNsGIGp8G3ooEHupJaEmv+Ta+5S+tkmzSGewx1OHmY dVgOric2mF3smYC+iXYPu+aFBp5oWou5nKI4ksSpUeG+4pHajvrZKWPkou1j2659sXC7 EDgg== X-Gm-Message-State: AOJu0Yxz24SP96AZsF6urCVMVp9QJUSoPviQda+G2GVyF1Jae1U7ZuPc wKLfaNZlZegAguIivH/yi3wPbx2TEOBTr0iuiQNYBs+8lQ4unSoLPfZRU1ezPjg99JpzLqN8lop 43hWPKxE= X-Gm-Gg: ATEYQzzkB6iX5vx8Kn4Ll0DOtmUsRP1/xJpNyYCvISs8XqLqr7cRlkCfpavcNB1InUc xa0rGX23pBWdXDZT/1WSot6yT1+EkIeK14q3Gr25GBbaw71u25I3gwxn4/mj9ifQOyDXPeljs9d xb2SqrNAz+j2wl9AnkPca8B9cKnjIWWEUJ8eFi3/eeGdpytG0nsu/Fzsl2xejR+EtXaVUFo8a4U j1dmLGb7ATyhKOm8in94Pm65k0DOurN7ylQ2E5ilyP8tqUf0LuuQhBXhMHoAYVOz4K7E5tkPLYb OJDYnU7jTa23PRoMVQk4W+/ICccJqML8oohiSx/2nGdeYPK5s/YAG3Ob5x2WA9zQAAVPLUVz2am crdp4jvvPhH3g53t40KtADjJwviM4gRIVjt0IdbdaIOvHeq+Rm7drL+NSvCe8+b7g1b49+TXV6V k7ZRnaq1N78nlthCUBKFNvHuzGS7/C43GmDNKZvGlbPIp/KZ/fWd31L+ErdgQ+JDPI4CnuEjTr X-Received: by 2002:a05:600c:350a:b0:485:4278:2558 with SMTP id 5b1f17b1804b1-48542782901mr41600815e9.6.1773139546824; Tue, 10 Mar 2026 03:45:46 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 05/16] tcg: Add tcg_op_imm_match Date: Tue, 10 Mar 2026 11:45:00 +0100 Message-ID: <20260310104511.12670-6-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139628176158500 From: Paolo Bonzini Create a function to test whether the second operand of a binary operation allows a given immediate. Reviewed-by: Jim MacArthur Signed-off-by: Paolo Bonzini [rth: Split out from a larger patch; keep the declaration internal.] Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260303010833.1115741-6-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/tcg-internal.h | 5 +++++ tcg/tcg.c | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/tcg/tcg-internal.h b/tcg/tcg-internal.h index 26156846120..c0997ab2243 100644 --- a/tcg/tcg-internal.h +++ b/tcg/tcg-internal.h @@ -100,4 +100,9 @@ TCGOp *tcg_op_insert_before(TCGContext *s, TCGOp *op, TCGOp *tcg_op_insert_after(TCGContext *s, TCGOp *op, TCGOpcode, TCGType, unsigned nargs); =20 +/* + * For a binary opcode OP, return true if the second input operand allows = IMM. + */ +bool tcg_op_imm_match(TCGOpcode op, TCGType type, tcg_target_ulong imm); + #endif /* TCG_INTERNAL_H */ diff --git a/tcg/tcg.c b/tcg/tcg.c index 3111e1f4265..2ca44766f64 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -3387,11 +3387,9 @@ static void process_constraint_sets(void) } } =20 -static const TCGArgConstraint *opcode_args_ct(const TCGOp *op) +static const TCGArgConstraint *op_args_ct(TCGOpcode opc, TCGType type, + unsigned flags) { - TCGOpcode opc =3D op->opc; - TCGType type =3D TCGOP_TYPE(op); - unsigned flags =3D TCGOP_FLAGS(op); const TCGOpDef *def =3D &tcg_op_defs[opc]; const TCGOutOp *outop =3D all_outop[opc]; TCGConstraintSetIndex con_set; @@ -3418,6 +3416,21 @@ static const TCGArgConstraint *opcode_args_ct(const = TCGOp *op) return all_cts[con_set]; } =20 +static const TCGArgConstraint *opcode_args_ct(const TCGOp *op) +{ + return op_args_ct(op->opc, TCGOP_TYPE(op), TCGOP_FLAGS(op)); +} + +bool tcg_op_imm_match(TCGOpcode opc, TCGType type, tcg_target_ulong imm) +{ + const TCGArgConstraint *args_ct =3D op_args_ct(opc, type, 0); + const TCGOpDef *def =3D &tcg_op_defs[opc]; + + tcg_debug_assert(def->nb_oargs =3D=3D 1); + tcg_debug_assert(def->nb_iargs =3D=3D 2); + return tcg_target_const_match(imm, args_ct[2].ct, type, 0, 0); +} + static void remove_label_use(TCGOp *op, int idx) { TCGLabel *label =3D arg_label(op->args[idx]); --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139567; cv=none; d=zohomail.com; s=zohoarc; b=L0WPacdnw34IfemYiG+8GV5H9EDSHuerFdNRayMp04XTgdPtJPzJfdX5DMWlU46XDvQSsH9QB3Y7v3XlgkLxVU2N64+KkuRO2T5tY4av3aEGtLHbn8SbTh9MB4pw3wec15bWdqw7TcCcIFWofsjdSxkXsodcfPOH8NhqECGB8Ow= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139567; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Dm2CjIc6aJ3cg2fzdq5ZPLjZ685+4GhYkIA6/nMpEFE=; b=PhUsdpsi1WiAkIFqh+W+bJgaZgueuGTLRAhdR9sENWwLpKnroHTlf1kPYTIEg9j5s11v++0F34RSUKUgEmVCgStJHGkceZmtQN09cePv0DwXz1pkt7hkb2eVTT9oqgiQvsoSrMFRbO5Nsxy/aBARMw3yhImf5fEdfC4BDPGkX7M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139567621649.490672182569; Tue, 10 Mar 2026 03:46:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzub8-000756-2u; Tue, 10 Mar 2026 06:45:58 -0400 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 1vzub6-00074v-Pa for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:56 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzub5-0005pR-8T for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:45:56 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-439d8dc4ae4so2604732f8f.2 for ; Tue, 10 Mar 2026 03:45:54 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d973sm32709821f8f.3.2026.03.10.03.45.52 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139553; x=1773744353; 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=Dm2CjIc6aJ3cg2fzdq5ZPLjZ685+4GhYkIA6/nMpEFE=; b=MD6WhNbkAHmPRd4OzIqtzm60K22b90GqhKpMdtTH5DDmKIBToGa+cLhu2fmM52KPS2 dRGfrA+lC3hb1JJFS1w88daPFBqMEkK6mcXmhKSEYtohyXxgot9rwaDuVWs/3CCzk/tb LuPERFgGVGOSS4K+SUJw5LnCns8gpOzjjWelB39+pBkK2rPOgnYORXQja/Zn0TdbaMc/ EP0xCa0wu7RKCU09d6cNPaNYF4LLEfS72JR1ouPx33sLSLPf8WnaMZtQjRMT64B7MC/0 IyK/sWBHeQj4jIcT7HNA9vH3RfMRgwpmyhFQ8LUDPkD2Y0oY0kvyaXX+3yM72DKeBtwg PBfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139553; x=1773744353; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Dm2CjIc6aJ3cg2fzdq5ZPLjZ685+4GhYkIA6/nMpEFE=; b=PfuHXfaSTBVA4vwCnGRvjej2ISKIVqKg8fK2r9yD+7LNlXTW2GxZBJWxu2D67rLd+E AB/4pwMv1tUWKrj4pzflOeKqlbRQS+e6Bm3/Ak64kucYJCPDS58MOb9jp96eDoAOyZbC 5OaL58EOhGRUXi3jPQWrepreCfAm1N60MlL1jHEchKOUrihnSgZ79PCmOhsX3aXMY3li 7ZMxIimQO7RDRboRFTMns+pacmW1kARM/QLMAO/MmAS0DdbOz3sbw4C1eAvmYCRhqLrm 5q/7xWP/rTiiLWkQiBSs9RgDiILn6gjzClBc0HtVMv+FRf6jeCITiWB2LhHifc2HrqbY TA2Q== X-Gm-Message-State: AOJu0Yyho7i2I4LRhyYSH4bV+PBghw6qu5BiIZDA9kCZ6QOrLkTgMlmC TRoiO6qjcqLU3b61DdC5eeRPLa2i5LAOr0DA0nxKIeZjXQV0vj9lOOMS4G/H9fZRVDJAetXFAFl MKpap5yk= X-Gm-Gg: ATEYQzxxDC3YKZJAKTcqF9JRv1Hd/0D40CNjLB9vS65vsW2qfJ8L4vooDnQeXZLxevx 5wILDppmH5uj8Hlb9kKmmsnj09E5mjMNLDpjAS8kLPD4iQtNA6kHcse7ySGJRqSd+dpN/cdtXGs UI31Hz3cy4sOatknrcPxJQNH4kxFLpTfbC2Xys5GrHNEXsT5v79zn+GXXu2ZJqUhLnzmuJ2se3O M7c3UX105R71Gtc0a3HIybgvAwqrum++uN9c++XryLkAgIVNZNJ+qWlepEFrZ98nvDVsEZr4QAY ROj49+eczUD0WaMstqikq/DY4migSyl2mwud7G+6hFWZnu7qgIq7Fun+gi8Y5F3S09ht5jvt4QK b15zS6/BGVqbyll3ftgvd5coDp/4QcFdI2uMIjmTyIrxZ/yx7Ta4SEoC+1m194YDz5b8VLEhqRt GEbYjrEdOSNloLoRWLc50mYxgiG5HH0SrzJHaVLHCLfXtoLofUzU+aUpcj9qFpkpNB6BfGoTZq X-Received: by 2002:a05:6000:40de:b0:439:b79d:b99f with SMTP id ffacd0b85a97d-439da86f6c3mr24742967f8f.40.1773139553349; Tue, 10 Mar 2026 03:45:53 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 06/16] tcg: target-dependent lowering of extract to shr/and Date: Tue, 10 Mar 2026 11:45:01 +0100 Message-ID: <20260310104511.12670-7-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139569920158500 From: Paolo Bonzini Instead of assuming only small immediates are available for AND, consult the backend in order to decide between SHL/SHR and SHR/AND. Reviewed-by: Jim MacArthur Signed-off-by: Paolo Bonzini [rth: Split from a larger patch] Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260303010833.1115741-7-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/tcg-op.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index 13a56d89fa1..d8ae57d6047 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -907,6 +907,8 @@ void tcg_gen_deposit_z_i32(TCGv_i32 ret, TCGv_i32 arg, void tcg_gen_extract_i32(TCGv_i32 ret, TCGv_i32 arg, unsigned int ofs, unsigned int len) { + uint32_t mask; + tcg_debug_assert(ofs < 32); tcg_debug_assert(len > 0); tcg_debug_assert(len <=3D 32); @@ -922,8 +924,10 @@ void tcg_gen_extract_i32(TCGv_i32 ret, TCGv_i32 arg, tcg_gen_op4ii_i32(INDEX_op_extract, ret, arg, ofs, len); return; } + + mask =3D (1u << len) - 1; if (ofs =3D=3D 0) { - tcg_gen_andi_i32(ret, arg, (1u << len) - 1); + tcg_gen_andi_i32(ret, arg, mask); return; } =20 @@ -934,18 +938,12 @@ void tcg_gen_extract_i32(TCGv_i32 ret, TCGv_i32 arg, return; } =20 - /* ??? Ideally we'd know what values are available for immediate AND. - Assume that 8 bits are available, plus the special case of 16, - so that we get ext8u, ext16u. */ - switch (len) { - case 1 ... 8: case 16: + if (tcg_op_imm_match(INDEX_op_and, TCG_TYPE_I32, mask)) { tcg_gen_shri_i32(ret, arg, ofs); - tcg_gen_andi_i32(ret, ret, (1u << len) - 1); - break; - default: + tcg_gen_andi_i32(ret, ret, mask); + } else { tcg_gen_shli_i32(ret, arg, 32 - len - ofs); tcg_gen_shri_i32(ret, ret, 32 - len); - break; } } =20 @@ -2121,6 +2119,8 @@ void tcg_gen_deposit_z_i64(TCGv_i64 ret, TCGv_i64 arg, void tcg_gen_extract_i64(TCGv_i64 ret, TCGv_i64 arg, unsigned int ofs, unsigned int len) { + uint64_t mask; + tcg_debug_assert(ofs < 64); tcg_debug_assert(len > 0); tcg_debug_assert(len <=3D 64); @@ -2136,8 +2136,10 @@ void tcg_gen_extract_i64(TCGv_i64 ret, TCGv_i64 arg, tcg_gen_op4ii_i64(INDEX_op_extract, ret, arg, ofs, len); return; } + + mask =3D (1ull << len) - 1; if (ofs =3D=3D 0) { - tcg_gen_andi_i64(ret, arg, (1ull << len) - 1); + tcg_gen_andi_i64(ret, arg, mask); return; } =20 @@ -2148,18 +2150,12 @@ void tcg_gen_extract_i64(TCGv_i64 ret, TCGv_i64 arg, return; } =20 - /* ??? Ideally we'd know what values are available for immediate AND. - Assume that 8 bits are available, plus the special cases of 16 and = 32, - so that we get ext8u, ext16u, and ext32u. */ - switch (len) { - case 1 ... 8: case 16: case 32: + if (tcg_op_imm_match(INDEX_op_and, TCG_TYPE_I64, mask)) { tcg_gen_shri_i64(ret, arg, ofs); - tcg_gen_andi_i64(ret, ret, (1ull << len) - 1); - break; - default: + tcg_gen_andi_i64(ret, ret, mask); + } else { tcg_gen_shli_i64(ret, arg, 64 - len - ofs); tcg_gen_shri_i64(ret, ret, 64 - len); - break; } } =20 --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139649; cv=none; d=zohomail.com; s=zohoarc; b=HkTUDkl0nwNoBd5E1MJve4NuqMczL2/Mgrhbf6livoc7/K5LExitpXFbUi10tYdDJmu2zD7mI1pql1SrEpUINdmQUmVcaoXVIcE9H7v8SgccOqRyiORrhZ3869/DYMBGsIFmrd8OXDE7xRojQmBF/Ev+VS+7/Y9icOc2SbZt5dU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139649; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=q7Z/vQB+lFLKsxa63Yt8nB8oPVKn+DTUu+uQwmHZnEY=; b=khKWzGQKL3FE1vJJeYwFv4zt2KMeqHgVbMB2pPqsq30uKSPOSsQ9asSUKt++TiStZWupiznsvkOT0+nnP5OpHcL27B8zhhYcBua/P8vCZNagywvk+SwjIzoIDuoO/NwTSqqFvw2JuWVNU9EobzAn0Mzy7Ksjbwr0V3gf21rl7Mk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139649537839.134259733087; Tue, 10 Mar 2026 03:47:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzubH-0007JT-FO; Tue, 10 Mar 2026 06:46:07 -0400 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 1vzubF-0007GC-Hg for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:05 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzubD-0005qN-3N for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:05 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-48535a0ef86so19960645e9.1 for ; Tue, 10 Mar 2026 03:46:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485246ece8bsm171964975e9.4.2026.03.10.03.45.59 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:45:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139561; x=1773744361; 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=q7Z/vQB+lFLKsxa63Yt8nB8oPVKn+DTUu+uQwmHZnEY=; b=vqiOwgGrzJV4bqYmYaQLZLa+SyHLTAyqLvrK1kNOSWfspYc3bFm5jzWNuh6ExtPPnh TXKf/uZ3L//q/u4ISJyiKwoxyuZ0atyi8t1UjBxZFq1KINYDcOo1JIFgvF7s2qg42LlJ 5oyxwDKq33VdM/uJvGFNvaXwCX+FVTH2yj95gplP4Snar8n9gjO2jyQe83sOLUIZKOaG HWxhntt0gj2Hs0mQBi1pXggFZTojV5fIJXrDI5QGQFn27C/LnMG7zmr8SzURvK7oVdz7 27uFyWNx780T1qbK4ChTeo03rMAy6jksll9nkgnFWAY3onT3wPGqlzXIh/z7u+rGSTBS lubQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139561; x=1773744361; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=q7Z/vQB+lFLKsxa63Yt8nB8oPVKn+DTUu+uQwmHZnEY=; b=k+PaqdA1F8ai7cI3uvEA8VrFbhQ7bdkIy0me8AcVmUYFfGIBeNBdu/GrQOITmLxu4g yyvWZz3kt9TgY5UUUmLJxGoq6eMjh/91Z0VQXiEzeVO7rP9CZa4/8uZc0dMqpiG8e6nG rLsvNNnptF7fvjoFroCu859042gmYkKi6/p3hZ4zR/DPUYLcibcirGpoqyCFrvjZp/JU KOlvJPPKJTPAAXMDMyYIxL+xfEh5GZhYC/0+lKnr2zhaioslq4SCJS4W+EGThMoRFafJ Nc09Hda17nT6rVdL3TCBE0cxK3XzKa8j4/hQaRX7Y37VqD28DAObtV1YenglEu/0/gEX zB4w== X-Gm-Message-State: AOJu0Yxc/f9fUQYzp5k1UINQwWfyH+SGypCi9RjFrUeTf67/CpnqNAXB 9RX3bMkc3VNr54pChBYOgszofVKF3pG8KxgQjTlMRZYMgnHkDkRQpL0P37nANWmtLUm3QJFffRH 5KYakl8s= X-Gm-Gg: ATEYQzxzG0sKNqCiydd9zF854fqUmXXfhUvNKGlMPz2tavZVFvUu87guCaoDnq+eXzS 6upoYW+R0KwBsw9eeit456S4ZBKAIlryICRD50x0fCm3ES5iMSYJCSQUpzDmDFBrHqIlYbwHjgO ynd6O8E9KCxG8gnj8pA4hteWkl3k8mlqSz8D3/k9Z6ODzyZqhzP4aA5vKvIzpcMI9UOM/E1Jjwq QspOOK6zpgJ3fcKP8UMbUdBtCYgsF0dt7VJZj64PX6zdtllabie7/EWcLrK3vfuDqRshqeVTfs8 rSuSKhe5lA1/zTKEeC55YANMzfEjd5yjRkjCu1YETMCqdWTKqVJzmCMEf39lYjewg9u3qk7+v79 Yb7rofiC37EytzQ0dplTijcVjXgTeIKBaxphhkDbIbkuFXxDnzP2AO6zWhJrmE0YcmjVq2tBwSh P/2n0Se28jZYyunbYor37YINN0d9anq+CHuqVWqkC3J0Ji9U0W30eKYXF4E0oYaRab8opMUod26 C02rYsVFFs= X-Received: by 2002:a05:600c:1c25:b0:485:3e6c:aacb with SMTP id 5b1f17b1804b1-4853e6cae44mr95993085e9.4.1773139560818; Tue, 10 Mar 2026 03:46:00 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 07/16] tcg/optimize: possibly expand deposit into zero with shifts Date: Tue, 10 Mar 2026 11:45:02 +0100 Message-ID: <20260310104511.12670-8-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139650964154100 From: Richard Henderson Use tcg_op_imm_match to choose between expanding with AND+SHL vs SHL+SHR. Suggested-by: Paolo Bonzini Signed-off-by: Richard Henderson Message-ID: <20260303010833.1115741-8-richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tcg/optimize.c | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 59761c2c844..b1abec69a5d 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1743,14 +1743,38 @@ static bool fold_deposit(OptContext *ctx, TCGOp *op) goto done; } =20 - /* Lower invalid deposit into zero as AND + SHL. */ + /* Lower invalid deposit into zero as AND + SHL or SHL + SHR. */ if (!valid) { - op2 =3D opt_insert_before(ctx, op, INDEX_op_and, 3); - op2->args[0] =3D ret; - op2->args[1] =3D arg2; - op2->args[2] =3D arg_new_constant(ctx, len_mask); - fold_and(ctx, op2); + if (TCG_TARGET_extract_valid(ctx->type, 0, len)) { + /* EXTRACT (at 0) + SHL */ + op2 =3D opt_insert_before(ctx, op, INDEX_op_extract, 4); + op2->args[0] =3D ret; + op2->args[1] =3D arg2; + op2->args[2] =3D 0; + op2->args[3] =3D len; + } else if (tcg_op_imm_match(INDEX_op_and, ctx->type, len_mask)= ) { + /* AND + SHL */ + op2 =3D opt_insert_before(ctx, op, INDEX_op_and, 3); + op2->args[0] =3D ret; + op2->args[1] =3D arg2; + op2->args[2] =3D arg_new_constant(ctx, len_mask); + } else { + /* SHL + SHR */ + int shl =3D width - len; + int shr =3D width - len - ofs; =20 + op2 =3D opt_insert_before(ctx, op, INDEX_op_shl, 3); + op2->args[0] =3D ret; + op2->args[1] =3D arg2; + op2->args[2] =3D arg_new_constant(ctx, shl); + + op->opc =3D INDEX_op_shr; + op->args[1] =3D ret; + op->args[2] =3D arg_new_constant(ctx, shr); + goto done; + } + + /* Finish the (EXTRACT|AND) + SHL cases. */ op->opc =3D INDEX_op_shl; op->args[1] =3D ret; op->args[2] =3D arg_new_constant(ctx, ofs); --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139607; cv=none; d=zohomail.com; s=zohoarc; b=VrH+ET+eif2bSmh2SsdqQnKP0HJO4BOgEjyaQI25o3/K44OWLDNRuY/Q9yUVAvUS97IcLkBlsf9wgXVguRN2974yPezQD/m0qKybJdG4Nc239Hnj9IFYSPQPYy9jM4zRxOtm5rSXPeJIwp3Msd73zcHrXojOkL0D6OUn8IQVYCo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139607; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ADnbZuhLO1Afcl1KkyrG1KqMNO/xTB7IWOHNNOxfuN0=; b=XjEg1meS53WRHhCmoQgNdeKCD03N7YWBk5Clg/YhWKP+Mzgbs+ISw73rZbsk2//n/Cdz94TAVG0N7SODluajNgm6mvUFpcx/zWeMdDyU7ZWst4HmILB+4mju4iKPaLdfxa76m9kmNDMmIu7xru98iCCeV2sC/Ts7kXp0FXzkox8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177313960738568.6615755525271; Tue, 10 Mar 2026 03:46:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzubN-0007OE-OK; Tue, 10 Mar 2026 06:46:13 -0400 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 1vzubM-0007Mv-Ax for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:12 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzubK-0005sC-Ng for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:12 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-48539cbb7b1so14918465e9.3 for ; Tue, 10 Mar 2026 03:46:10 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48531818b5asm128216735e9.3.2026.03.10.03.46.06 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139569; x=1773744369; 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=ADnbZuhLO1Afcl1KkyrG1KqMNO/xTB7IWOHNNOxfuN0=; b=WpirCggqrrEONSpsc9Jc56xZ7TGNRCcyk8JORVEpquaKKoVePTqPJ/6ujut8jIHU7y SuDmAudcfnGiJG0nCEPXKEjjAGscJ5hXEqfAMB3i7/+d7iXDW5MrL4DUKQ2HUlGm0sOn spsp1MhmaxtRC+zHZR4eVMhjssNfVSyIOgjegzv2n9zkZOc77mMlqv4HRtp9d1mpJddT ISOWr+NskyTP9oWO7CxcAopt8WshRaeBw2skJUUatUlvEkKr8uW7lLmGTeleeKJ1rzOr bIKH23U3YuJPB6CsRWl3eP2J/exk5zhWMl716z8RAlqIJgE9cxkGY4sw4eYa2cVQ/FXq 2Unw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139569; x=1773744369; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ADnbZuhLO1Afcl1KkyrG1KqMNO/xTB7IWOHNNOxfuN0=; b=thmpA4m2f1z+/c4Hp+eGD/O2kTjHOqz6IfO+G1XsLxeL54IqnpeZ/ey9G6aW1IJvPm KIboJYwT37zN8iJ0B/zi1ZsOOeXEgTLkBpAk8gS7/R35xvWepnaHSF0Ufzno7x1h9/hK uUQWW+aXRr22uoDRAQhTOvPMzJENhQ7DTdkQ6v92VayDGgyINjkwh+mV/wcKkJiBsdwB 3yls/0gve5xWIRprTZofgHXs8fyJJLXf+kWs/r1Uz07MWFq2UHWqDCNXPFnrDgEniCJG VZ9/0bDHHsK7bx4LjXsy6z0wM55K9rG6Oo9dsNyjlWfM8pVInG2YMuw1Lz6epULMP9hx 87vw== X-Gm-Message-State: AOJu0Yw5VWOY3x85qtuHH9SQ2MR2eMI0y4NuMXh6chz7dIps5Iy0wB+3 nnG2KjTZx2etFbCNQI3R1O4h5g2auC0L4PAsVRI/yQI/4BYkR/20lB4pi2tXvqtMrSYj5WI8pXX DktuemIo= X-Gm-Gg: ATEYQzzwwnik4W+TUI86+HRCqUOT9ak23RygvnqLhmTSHZ4Nd6f9tjT0h12C7Eh1HOW 3J6pYihNIJz3s3FJN9NcanNHGeCWx/hyCxoe4z3l6izQOfbtKcfO/z/OI1CSrEt3Q0hzEiMolvr eUCEfjOaB3h/tFV/FbmxkycJdnGekQKltCymEq1BaWMfkrenjBBvXf6rSaaBy+iozO71+CXwG7D YbntZ2Hix+vEg/RyxlBoz5wQIziI3EhVZ5na5sUdbEZHxIinC4oTEbgONTFXUuWlCqxTOO4GrJq GOtaF1cawW6/YRqG0kk4cBsh1QNGBFMWJS23qxZjiOeyO0A5aBHJofYCH16fUGCRFTVtxqbwNaF JnpWsKC3ccijdhskkVJAvu119eiIqiOD84IsB7Hq1ulOIPdSUZhbLXaDxe1VI/amHn03WTVFTb+ mTAZqq/1jCZa8AvFrBIR0e5iyNI6ER3vgdla1q5wjqBQMZIdBr7t2WYsz/twRL4GtPkvLFU4Xm X-Received: by 2002:a05:600c:1e88:b0:47d:8479:78d5 with SMTP id 5b1f17b1804b1-4852690f599mr265637965e9.7.1773139568821; Tue, 10 Mar 2026 03:46:08 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 08/16] target/hppa: Expand tcg_global_mem_new() -> tcg_global_mem_new_i64() Date: Tue, 10 Mar 2026 11:45:03 +0100 Message-ID: <20260310104511.12670-9-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139622019154100 The HPPA target is a 64-bit one, so tcg_global_mem_new() expands to tcg_global_mem_new_i64(). Use the latter which is more explicit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20260205212914.10382-1-philmd@linaro.org> --- target/hppa/translate.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 0f8a66f7732..70c20c00377 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -307,9 +307,9 @@ void hppa_translate_init(void) =20 cpu_gr[0] =3D NULL; for (i =3D 1; i < 32; i++) { - cpu_gr[i] =3D tcg_global_mem_new(tcg_env, - offsetof(CPUHPPAState, gr[i]), - gr_names[i]); + cpu_gr[i] =3D tcg_global_mem_new_i64(tcg_env, + offsetof(CPUHPPAState, gr[i]), + gr_names[i]); } for (i =3D 0; i < 4; i++) { cpu_sr[i] =3D tcg_global_mem_new_i64(tcg_env, @@ -322,7 +322,7 @@ void hppa_translate_init(void) =20 for (i =3D 0; i < ARRAY_SIZE(vars); ++i) { const GlobalVar *v =3D &vars[i]; - *v->var =3D tcg_global_mem_new(tcg_env, v->ofs, v->name); + *v->var =3D tcg_global_mem_new_i64(tcg_env, v->ofs, v->name); } =20 cpu_psw_xb =3D tcg_global_mem_new_i32(tcg_env, --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139608; cv=none; d=zohomail.com; s=zohoarc; b=J5ScNhHAvO1VTd0gwEzxP6XTIh9Ed5R/hRYCAEgbtUOk9lxc2CsgpZ+XVekLXKjVU2NYupeUwD5omnXJbMl+4HUckuaou+yA8btSuUxvT2MAgAw95R5UGGNVC8XVBwtp67ATdh9N3TNleOZDD8+HH0Tw/ZEKVN/j5zzWGBw4r4U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139608; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=jsdKwF0sV1Hvjy9u2Bqou7scED5WI3+RblAjwY8Y8Lo=; b=aSn3pzaJSJkzzBZE4QQP67KYl8vsORZSYkHQTahmZW5yibzEthTtPecbhoJ7x8ixWxRakgBhgS6EMSKG9/+uVTnrzbXxOLjucvsR8On0Ct5vclr0p4wcTbVoMOC2iVAJtNIHGR9YEl3HpZI/6GLI1qy7xW9W6+xrfeK/ZUb+QZo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139608185312.2542064488641; Tue, 10 Mar 2026 03:46:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzubp-0007yC-FP; Tue, 10 Mar 2026 06:46:41 -0400 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 1vzubT-0007Zi-2o for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:19 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzubR-0005t3-Bq for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:18 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-439c56e822eso7195067f8f.2 for ; Tue, 10 Mar 2026 03:46:16 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dad8d840sm37215917f8f.8.2026.03.10.03.46.14 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139575; x=1773744375; 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=jsdKwF0sV1Hvjy9u2Bqou7scED5WI3+RblAjwY8Y8Lo=; b=DL0LxXfgkWEfWfOieE8fELWHRlPcRxONd3icgqQogLw221NZv6WaIqsqHd2cvo61Sx 7Fd5keTvBO8PuKp5D7FJaZbsYhnLSIfToIUqXuz06BW1aGCm7mgJRrRnAPaP72/s+xoL gpWfim8Dgb2Ve/LEnxa/snJGoG0mA8bp6BkmeW6AiFqIMCRgRxTs8zRNNpKZPzYy+e3p uynF5M68ndl2vMRsJmUgQWaSi896CzthoOIBAzhO3qPl2EHsVBFjSaf8EC7SylZchiNW +JmVLhFu8iUaCidS0TIs3tOpKlu6eQF0rDgZC2Dn4Gn3Iltj5rxOIWwvuUGAh7krLG3c xfCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139575; x=1773744375; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=jsdKwF0sV1Hvjy9u2Bqou7scED5WI3+RblAjwY8Y8Lo=; b=uxgVJ09puT7Caq0sxdcld5LIZsBBXZS19VAVBYb6QXkt9c6bqmndE+nfHpjVUClxyl aWDDafUk34ZnCmnqnxpk2hEizTfqLFEA/LAbNW9epwEvooLRH2Kn4oMIGw5pxYV/KIHu yvovLtJR24Iy64UBIp8KjvVJHcTUYN2S784jC2HfBhlY1JhEl82wAgqwzSAZ2v/QA9Zy Rw33b4KZbs9AFRjCQypOmA6Yz9wIE75xanlQ6DZUssrqXZE0Iab9Y50P4H/UtC1TVocl 0peui+6Yszcytan5dHl4GChsQw2w2U7Tm/oODJ2fKSXCGVuBLj6VG9eZHB1fY3qbtMRl 9WQg== X-Gm-Message-State: AOJu0Yz57SnXiJq7TVbMgRapbMN+P1YLuZiFVtazZ+6UEgWA5+kuFQCt Tp1hRBfTvb6BZy5yROGAPvsHD74AThrhPNi7NBAQD2JNt0O6a8gdEXtLCNLed7TgclPmkkacMID ifRes9js= X-Gm-Gg: ATEYQzwO0lvZ7tM1eCwCc+83lCd9oVguOgWdcBJm5FnWTTuHWZfl596Loq+Pmsgxbu9 0ENOsLDdxTNATY6HiOhUwIF4AxWRH2IinOfIruLaSn98fhqRIfjXtoUHvO8oauULiGj0jxcSmt0 Lxdzc3ATkY4RILZajEues56V26BVqwOTA6aFfSvcPI8SlYzVbjvDUCQps+dJI6RXaH5u8XgdPu2 vl1Qv3MJOKHcRQ1Xv9hShP2j87lmbJyNXCb/PR7lcOWvTXjQ6FcF9v+Ysg0oNgXJVt1AxJVj8mI CqmlDXQTtPye43++UYstga/AtdtqHhfmv2vPoI+YrfPUiLw+mx5PSiGg8R1sFy0nZNF3wVZBcnB VdCcgfll2RdcsEd22FKE0rRK3T0NLtQe+MY+KjLaopB2fIBrbGBgjCUvjjkUR83vdaHs1dkAwuE Kln4HQ7icagA23XPEDrf4E9hF0kOQdq1NPhCttqE+XSOnhikxyXdjCjwV4QQkGPq8+RBy8FspJ X-Received: by 2002:a05:600c:c173:b0:485:3812:36dc with SMTP id 5b1f17b1804b1-485381238b3mr138286625e9.9.1773139575469; Tue, 10 Mar 2026 03:46:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 09/16] accel/kvm: Include missing 'exec/cpu-common.h' header Date: Tue, 10 Mar 2026 11:45:04 +0100 Message-ID: <20260310104511.12670-10-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=philmd@linaro.org; helo=mail-wr1-x42d.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139610024158500 kvm-accel-ops.c uses EXCP_DEBUG, itself defined in "exec/cpu-common.h". Include it explicitly, otherwise we get when modifying unrelated headers: ../accel/kvm/kvm-accel-ops.c: In function =E2=80=98kvm_vcpu_thread_fn=E2= =80=99: ../accel/kvm/kvm-accel-ops.c:54:22: error: =E2=80=98EXCP_DEBUG=E2=80=99 u= ndeclared (first use in this function) 54 | if (r =3D=3D EXCP_DEBUG) { | ^~~~~~~~~~ Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20260225051303.91614-2-philmd@linaro.org> --- accel/kvm/kvm-accel-ops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c index 8ed6945c2f7..6d9140e549f 100644 --- a/accel/kvm/kvm-accel-ops.c +++ b/accel/kvm/kvm-accel-ops.c @@ -16,6 +16,7 @@ #include "qemu/osdep.h" #include "qemu/error-report.h" #include "qemu/main-loop.h" +#include "exec/cpu-common.h" #include "accel/accel-cpu-ops.h" #include "system/kvm.h" #include "system/kvm_int.h" --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139627; cv=none; d=zohomail.com; s=zohoarc; b=B8+vi5G+sPbDU21LXuAJVIMS89WVxpYvODk5oAukN4LBBbx9kqISTZ0wy6NBP4xFdI0ccz7QHehgPNTrkzKsG/33EpBiv02znsk8fjhClYnlk+TJ/RGVzaOVI4OxWI7K6Ro2uDA1L6+ozwcw/ZzPEz+OcdVtk4fwW7OxQgptGV4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139627; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=w3BIlPw0CMfmgESexX1jy7Eew6qRZ790jhRyJ/45kFQ=; b=F8nG/A252dlfXXht1A5UFCZw7kzchqxIHg5JAHKsBuZOgz1AQK9XrmwcEkOtg+YtnJg0vnPaOaOlTJIX3xsV2d/w3yrS6Tb5IcGYYF8nKpkj2mauNUfaL49kdeQwmRdHmCiPg5oZJCgbxmxTitHvDVgvpEhBMQenBqQnXCH78ko= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139627066620.1836464364228; Tue, 10 Mar 2026 03:47:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzubq-0008An-Vp; Tue, 10 Mar 2026 06:46:43 -0400 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 1vzubb-0007qr-DZ for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:32 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzubZ-0005tl-TY for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:27 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-485345e1013so18326265e9.1 for ; Tue, 10 Mar 2026 03:46:24 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48541a8d4desm65313945e9.8.2026.03.10.03.46.21 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139582; x=1773744382; 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=w3BIlPw0CMfmgESexX1jy7Eew6qRZ790jhRyJ/45kFQ=; b=O284WygsowAUAogxdtmVvXjL4UJJt4d9iK6P+ba8CF7wJ1oxYimw8b9f0Dfj+iXa0w e6uKmguesBrueGKJzgHWBJUstGpasTBlinJCqDbxVlxpJbqAGgTRI0kSTuyvvbX8U6OU 8Yl0zFLYklKcXJJO2ejlfUzLWpgSiqXxTSSBCZN6J/wkEEnybNtHUhUfDI5rGiX2klL/ 7fmu3ODz4/61zUdlqZaF8RrmiqpxZue7yqoHdbB+kRXfygya4xW9oI56TvWd+nY9yenx uEVecj/d6Ppa0TN/JZTgZiXsOFsssMgPwZdAtk0ZKhWKkYhxCHlVQTNtLqIDHY/Uf27+ Tb+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139582; x=1773744382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=w3BIlPw0CMfmgESexX1jy7Eew6qRZ790jhRyJ/45kFQ=; b=hMFy305EVntiyRqpw27j+wlmph2n/O4aUBG7HJCravFuTbOrsCWoWLhrHovW92dtyS zi7I1hWbS99FMsnUSN5WDgFGs61YGbAUyve2Qcu2wTcFEfsvcm17e5Y18GsY4TsQ6671 +IQbkA93mVjxH3awWsxldB1d5pLzv/AGFujT+k2nIPZXXcLG1e5aCFjd6R7kGOZ4eIq9 m4GSqocbDw1s9pD1ol/bvccqyWgF/Ygg5EMOFeklSha6O26DyWMsFUMeljE4bj/3LWI9 IMEPM6YuE5SDHMcSsKuUZD3uqeUVyPYXcbfXaEG18XLLQqFmPdu/7ZQxfd7AWSG2a5/8 6R2g== X-Gm-Message-State: AOJu0YwqqwNts5VLqp9khXw/3+g3vqChiL9I1va3/DdOwU2v3XmcnOvC 98yK6Vv8EkyjRPAP68HeXz17OYl6S4hqpdkTE4qMBvj32SPkCAONaFEtbIZt9YvRi/VdF7Ye+Cy IS7OObeY= X-Gm-Gg: ATEYQzxhkJandXPOehwCYoWYUqyuAHgR25W7qHd8Lo2/d1UCMuzKCXlP2o1dHNnq1md LNhZsPJVlV5Lvu/tjm/3VnJzaL9r1F/YhJml9tzP/zLz62sZEK8/zPolmkh6d2wF9WuZXIIpY9b eXMiOusA/ukgg3vPCgjQAti27s8bWqcA7S/QXFurPOKGel7JKZql9E4IdWm+42bPM2u+GtmDZiY yNucTgtDvGWa1/S9a4zV3oPp16RpJ70dSdCnVpQhDFyBwnoVZwnO/KBIH+X2RBaBcTfNCxOahFY SKuJ9xOr088wTYUhVh9Ly5SiumqKlCMXFNJwFMVKjJzIvf8lKQkpoPjx8o2vwWG2HdeBajp++NA UDSVf1hHFyU+7tU/djiY+piYUJgSPUTO/dsQ+3SXAfmyfOVz1uPfO7CquFFu/bdCJdKTkx+YfwT flmwdfHG31f3Ud6bNeq8dJIG7W31kmd/GQ6aL4/ZljmB0iF9/Vfwo5HGztz7PASKQUfiF4PxeW X-Received: by 2002:a05:600c:4f8e:b0:47e:e59c:67c5 with SMTP id 5b1f17b1804b1-485419cc0c0mr39842485e9.8.1773139582363; Tue, 10 Mar 2026 03:46:22 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 10/16] accel/kvm: Make kvm_irqchip*notifier() declaration non target-specific Date: Tue, 10 Mar 2026 11:45:05 +0100 Message-ID: <20260310104511.12670-11-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139628695154100 Commit 3607715a308 ("kvm: Introduce KVM irqchip change notifier") restricted the kvm_irqchip*notifier() declarations to target-specific files, guarding them under the NEED_CPU_H (later renamed as COMPILING_PER_TARGET) #ifdef check. This however prohibit building the kvm-stub.c file once: ../accel/stubs/kvm-stub.c:70:6: error: no previous prototype for function= 'kvm_irqchip_add_change_notifier' [-Werror,-Wmissing-prototypes] 70 | void kvm_irqchip_add_change_notifier(Notifier *n) | ^ ../accel/stubs/kvm-stub.c:74:6: error: no previous prototype for function= 'kvm_irqchip_remove_change_notifier' [-Werror,-Wmissing-prototypes] 74 | void kvm_irqchip_remove_change_notifier(Notifier *n) | ^ ../accel/stubs/kvm-stub.c:78:6: error: no previous prototype for function= 'kvm_irqchip_change_notify' [-Werror,-Wmissing-prototypes] 78 | void kvm_irqchip_change_notify(void) | ^ Since nothing in these prototype declarations is target specific, move them around to be generically available, allowing to build kvm-stub.c once for all targets in the next commit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Message-Id: <20260309174941.67624-2-philmd@linaro.org> --- include/system/kvm.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/system/kvm.h b/include/system/kvm.h index 4b0e1b4ab14..5fa33eddda3 100644 --- a/include/system/kvm.h +++ b/include/system/kvm.h @@ -219,6 +219,10 @@ int kvm_vm_ioctl(KVMState *s, unsigned long type, ...); =20 void kvm_flush_coalesced_mmio_buffer(void); =20 +void kvm_irqchip_add_change_notifier(Notifier *n); +void kvm_irqchip_remove_change_notifier(Notifier *n); +void kvm_irqchip_change_notify(void); + #ifdef COMPILING_PER_TARGET #include "cpu.h" =20 @@ -393,10 +397,6 @@ int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg); =20 void kvm_irqchip_add_irq_route(KVMState *s, int gsi, int irqchip, int pin); =20 -void kvm_irqchip_add_change_notifier(Notifier *n); -void kvm_irqchip_remove_change_notifier(Notifier *n); -void kvm_irqchip_change_notify(void); - struct kvm_guest_debug; struct kvm_debug_exit_arch; =20 --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139624; cv=none; d=zohomail.com; s=zohoarc; b=QIASyGlOY8siimCvPVz1JAFizgH1VZyiNfWMVrPU8IR1hHM0f+SHIV4ydJh+ML2Z/muH2GHlos1UE3dPsoccc8YfCTZuj833TQ5Xe4SLiDiTm9mghT7BbH7xI9GWockS+hkjTtCs65Y3iAB9eB6S24ci7uAnqPtwsRPxHRrpXos= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139624; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=N0u4Xn5z3Q9+ztJfTR2RmRtVJ7Y4IO/aDtYCPfhbr28=; b=PXKrLXE90KdtwRGwMWwxSvMaUBqEbNkDj6b6c0vALQQVYEiC/PlTlWPWlrMu7kpfVdSkUJmAEKgR+8ISmR2foqJ/2NLuHEAi6A5K8iEuR5jawiJwHjpBeOfzCtvbUyorqwpO+q1eqYK6sIgqIya/EbrqupQMiKNq5XWhJGgbq3U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139624076799.3561768043064; Tue, 10 Mar 2026 03:47:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzubt-0008Uo-0P; Tue, 10 Mar 2026 06:46:46 -0400 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 1vzubg-0007un-Sa for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:37 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzube-0005ua-RW for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:32 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4852f8ac7e9so37553555e9.1 for ; Tue, 10 Mar 2026 03:46:30 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485237dd017sm115605395e9.2.2026.03.10.03.46.28 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139589; x=1773744389; 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=N0u4Xn5z3Q9+ztJfTR2RmRtVJ7Y4IO/aDtYCPfhbr28=; b=QsYr3BI8z+LueMRr4YDhScLoshufKwMsx0CiMYaDvc4Zzsyb1J2Ovf/vgJenGK251u RPlbH97/B7Z/LY971k8S4/WkwMgRP36gKGYyS+fq7dfKeGhm3BCO1UmtPCrI26pW5iAA J24w6SC1JVxVz6L5BtdsKoJgOfQL6d5kB//FO9PBEUWTgyv12gUSw7mpePJp+YK6f0Gh 8VTShMVTBenmyFwLeQ2hwD/jBMpSo60iH5/o53hrQrLlt1D0850E8JlGKqxGXDFgvtBF GOzeQtzyqs5VAix5O2eYr1JHCUwtQpqIkCy3mE0qYtXHS+5CYbtjR5/rSGTjszHBK9uK 9/gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139589; x=1773744389; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=N0u4Xn5z3Q9+ztJfTR2RmRtVJ7Y4IO/aDtYCPfhbr28=; b=gfIXyNYEWxKj+lXZyrfoNbXgCxDsb5RNhZuUc1L7ZIib2dKoqrmhjxOsXMX8GjYRP0 xNvAFzAHpc2TjmZTJbWo5cqcbrAy6H1ulXVgglMwT/x/Gt5dAGb4ODbkoUydrTfT7M+a 53FHz+13t+j4FXRqD1WqD9s0G9vN71pDJIU0vEOgjsFp3KLi7DTASzHO6WMNznh6pb0O AUp94w4J7OS5rQnj93dI7XN5k/lj60bSInqx/23HTXlAaG/Y15vbS0b94plKpwFtTKJ6 +fvPY10f4DZLn/h9rZw7IQL4me/B8vj+6bnbO3E05QQZuy+MjxS/xIuFnTEWq3W2pyGI MnZg== X-Gm-Message-State: AOJu0YyAbc1vGDmTxCekiFRWSgzR4gWBbZvIuTeUIj4fF7DbM8SRuyJy HkvQT4RE1lIUkVP75oO+2nVmv+6ZD7kRTwA3cM2GQw2lFtW+yUHPcMgy/lT9bbwEinbPVOF+BdY EqF7DaHg= X-Gm-Gg: ATEYQzw6O+DYsBotKYZNS+pZ67y3hXx7qN9Y/V4QLVc8KNRBttx/e17Ju5e4fO1L06H pR/0TuADOxDFVEQ5Dn53lv/hI8FyANTEbou3oM9dNEiygxu4ZU9itvR1TDFdeFZgHs/GGDsQ8bf Fr66KcbMMuyN4lam8RLKYZEKYLl2EejMQ516EtgoengIP42a0PU1V88mP1aAwtb0qWQcldZAC6R DsGPAQVUAlU4uSrWW02lKfZ72ZcUsRw2t2DvbPsRwSzYx6mMivtUIeYxs09JaYMM3R5GfwbP60h 6ShjpIWBzrHnl/fVHyRg3kiWWoKzg5AnSYfG3m5kXdNWyfpxRq7FXycGae93OnjMz8Syq7POS3W pCqQE95hf7btg/RQzrylk4fZWDGFO/GrlXrRGg9lNiQ75FvJF1Hl+ffWBGI7DGvEeE2vmnJ+bPO UNvEKTAwjmn95qJPFyfaccwaySUsECL8MLkmgUmnIJ4KWCJuVdsg5cuZy741YJCc/iMmPSXpvJr LxttjieClI= X-Received: by 2002:a05:600c:4e4f:b0:485:3a27:a960 with SMTP id 5b1f17b1804b1-4853f4214fcmr81891135e9.0.1773139589026; Tue, 10 Mar 2026 03:46:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 11/16] accel/stubs: Build stubs once Date: Tue, 10 Mar 2026 11:45:06 +0100 Message-ID: <20260310104511.12670-12-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139626950158500 Move stubs to the global stub_ss[] source set. These files are now built once for all binaries, instead of one time per system binary. Inspired-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20260225044225.64059-1-philmd@linaro.org> --- accel/stubs/meson.build | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build index 5de4a279ff9..ccad583e647 100644 --- a/accel/stubs/meson.build +++ b/accel/stubs/meson.build @@ -1,11 +1,10 @@ -system_stubs_ss =3D ss.source_set() -system_stubs_ss.add(when: 'CONFIG_XEN', if_false: files('xen-stub.c')) -system_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c')) -system_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c')) -system_stubs_ss.add(when: 'CONFIG_HVF', if_false: files('hvf-stub.c')) -system_stubs_ss.add(when: 'CONFIG_NITRO', if_false: files('nitro-stub.c')) -system_stubs_ss.add(when: 'CONFIG_NVMM', if_false: files('nvmm-stub.c')) -system_stubs_ss.add(when: 'CONFIG_WHPX', if_false: files('whpx-stub.c')) -system_stubs_ss.add(when: 'CONFIG_MSHV', if_false: files('mshv-stub.c')) - -specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss) +stub_ss.add(files( + 'hvf-stub.c', + 'kvm-stub.c', + 'nitro-stub.c', + 'mshv-stub.c', + 'nvmm-stub.c', + 'tcg-stub.c', + 'whpx-stub.c', + 'xen-stub.c', +)) --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139712; cv=none; d=zohomail.com; s=zohoarc; b=g6l7Y+cKky8pFoybWBtGKzaC1dEIPIDgeg7U0kBAppv6ua3SXJyaPq8Ev2r353wIPy7Z6Pq6Izg+6Ew/js4Lam4MCZFqIxC9XZBteSdxNv5iL2hIJYKQ25Ca/Pc2z0bp3y+zreVBeDiMFSmRzcYPskHkMqIeTVEvRfuiirdqq9w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139712; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Fr3NyAUolqOYYPj/CXrK8V2pM1QmPg3oIcr4E743MsA=; b=TQ1Pt6M0AgCBLMW0xTy3fvBdSNZrGnXfl7qOoNDkr7zqxk7FAQruDEfVSppeDviuzz07+J/+jzsklJ8XAdWm08PbG1utdsrQTGprr1ebChljPf+YRhz8z9uwQcL7AG4o5it9330AzsuLEtm8MBnYXPogfoOVQCuN/fwqN6uNjsw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139712955714.8799794208327; Tue, 10 Mar 2026 03:48:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzubr-0008B2-5W; Tue, 10 Mar 2026 06:46:43 -0400 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 1vzubn-0007yP-6X for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:41 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzubl-0005ux-Di for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:38 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-485410a0a8aso11049895e9.2 for ; Tue, 10 Mar 2026 03:46:37 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48541a6bb86sm62654675e9.1.2026.03.10.03.46.34 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139595; x=1773744395; 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=Fr3NyAUolqOYYPj/CXrK8V2pM1QmPg3oIcr4E743MsA=; b=v0HzjH1osPZQaLhW+mMtkRBDtJH3o8Pb6Vnoqq+u/8VLx3OWKAW4FJrHif6rB2UFww W4zV5ziXHZzeddG5+Hx+KOk/CuTKEcvRgJFZ1QhesmvB20PcB2nXQNbz4XTD5gY32G+y JYuSDctfekzlptoWd8m9686AduPOrawQhky0Z05eUGC+gjRBSPeAz+xeOJiUkEQyEU4M J3J0G/UdtM2xXM6GwwIdNeBpS/MuH33Sr97qlHm8RHKmCPTcveVO/s8oVYlKU6VXms+K cE2n/DFJc65i7IDxsmyWt1KfmxGq7//5/phdu7+Ji2uqI33ITWCvhObth3sR3/A9MTwl RUBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139595; x=1773744395; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Fr3NyAUolqOYYPj/CXrK8V2pM1QmPg3oIcr4E743MsA=; b=wVZIIlaGTRmy6+ShbF8++OtMZhSkiftBAGLMYBwGy6PPm9gewEIxClmK6oW8dsABym +Y3kHOroJrgZGDnpjdUY0EZhU61SSl7rFju3dwSTdIxSQmhpgX5a6gF2x686kc2G4mtV xwTv1rzZ/ISi4mN7e8rDJ/sFjkB0j0n48HAEjcz20M95sUusSuy8MbTNhdy8ZQUr2Zmg /soTbTL6xexp1ZsEvOgQyYVlC0lL+oBZ62u5oYLtzO/mJnNmfcYbA2zFHZMp3JuC0kIC MaBI4J9ufdOgIlHUWQhOfkYFovgyExkqJ5vEFqt22rFudN76Q2bX4jGGa0U5K998Kezy 8UnQ== X-Gm-Message-State: AOJu0YylnLmm1Iw3lLPkWaHeLlS8QAr8+cutfaiRUaTpRi9AK3P2cuVB izYMRkEQpVaNlNTaSzGyZmHJi5Ln0NanUqRun8uU1nywM9ilR890RWEH6RT82ARDYnXXX/TU51/ +kFtdCYY= X-Gm-Gg: ATEYQzyAEUkfUakulVacV9LjOFQusF/BjqmJNt1xJvy2rSsJUk19bujCo9DLTdBdZBP lYplj/yD844JWYRgKQalsnUNzvC2ZeZxiD2hvQq5M8Ypq2YvJ2WZimTHok2jSP+VISHNfiYAGAt srXvFL6BWQsLzQfyMjhfiChGUn6+F3yHC2bNEV8Za1W8jWAQPSxy671Vf9BqoEvtt2Oin4qvrSs fHUbTL1MrFz7eIDl7/tzu1fWdilDfXlQQB8xBkREDESECYFFefkoq6Fj3mMv0xzqTGe3jKttsHd Zws+SZ8alvAKtnWaslGSQWBJpXIpLO7lI669qoB8cP696HDpx7+r791kCBxuYuOqAJqFdQ2YK15 pb+nZxuL2b2n4+kTY5k+VdBGzniZIGChvDEMwPUy7W341dxEUFCdFvUV/knnqDifP4UjvXM1Az9 7xE92a+vrdnL8GtJ741H9dxet9KQNKUGw1qm90YYDtlaNAB0MCyjDOmba8odtEYWQJPd9oat3f X-Received: by 2002:a05:600d:108:10b0:485:4552:8fbb with SMTP id 5b1f17b1804b1-4854552922dmr14898125e9.22.1773139595467; Tue, 10 Mar 2026 03:46:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 12/16] accel/mshv: Forward-declare mshv_root_hvcall structure Date: Tue, 10 Mar 2026 11:45:07 +0100 Message-ID: <20260310104511.12670-13-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139714572158500 Forward-declare the target-specific mshv_root_hvcall structure in order to keep 'system/mshv_int.h' target-agnostic. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20260225051303.91614-3-philmd@linaro.org> --- include/system/mshv_int.h | 5 ++--- accel/mshv/mshv-all.c | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/include/system/mshv_int.h b/include/system/mshv_int.h index ad4d001c3cd..35386c422fa 100644 --- a/include/system/mshv_int.h +++ b/include/system/mshv_int.h @@ -96,9 +96,8 @@ void mshv_arch_amend_proc_features( union hv_partition_synthetic_processor_features *features); int mshv_arch_post_init_vm(int vm_fd); =20 -#if defined COMPILING_PER_TARGET && defined CONFIG_MSHV_IS_POSSIBLE -int mshv_hvcall(int fd, const struct mshv_root_hvcall *args); -#endif +typedef struct mshv_root_hvcall mshv_root_hvcall; +int mshv_hvcall(int fd, const mshv_root_hvcall *args); =20 /* memory */ typedef struct MshvMemoryRegion { diff --git a/accel/mshv/mshv-all.c b/accel/mshv/mshv-all.c index ddc4c18cba4..d4cc7f53715 100644 --- a/accel/mshv/mshv-all.c +++ b/accel/mshv/mshv-all.c @@ -381,7 +381,7 @@ static void register_mshv_memory_listener(MshvState *s,= MshvMemoryListener *mml, } } =20 -int mshv_hvcall(int fd, const struct mshv_root_hvcall *args) +int mshv_hvcall(int fd, const mshv_root_hvcall *args) { int ret =3D 0; =20 --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139713; cv=none; d=zohomail.com; s=zohoarc; b=VS5PIxx06jMr0XKK5TFDK0W5Aw78b1qZKIbCg/ggZvlbF7RRcEhoicfjzUNQ1hFHKTIqpz9awRtT7q+vVWaoMqbVDp3yH5oM12vLY0j1llfPaZXxEoiEdTFV6zfdp9WAQBNHpjRgCFRocPg/xr/yS2I2WIyJEGi40MBVUCEOPVk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139713; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=BWL2mBfMVFAkbW/5SRGsHvOYhT2PfmKXcQZNTCwbcu8=; b=gjTzHzx7ZTAsba8tYfzOfQrWYcDp5bcHUM2mS4pnFZw4Kioe5KAHTBQ+MfVGR9IMvmNq/ZCAtDyQqHh23wjUNSYuvfrv5ChwUC8dbr6+I2qM0sOqcm1Xjv+7fouiUvpnUfkS9JEur/zqOw0HNN1fUrLP69lbj1pAIFWZnzJN1Uc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139713306995.1614245825159; Tue, 10 Mar 2026 03:48:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzuby-0000OM-SD; Tue, 10 Mar 2026 06:46:50 -0400 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 1vzubu-00008o-Eo for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:46 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzubr-0005vX-RB for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:45 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-439c56e822eso7195625f8f.2 for ; Tue, 10 Mar 2026 03:46:43 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dadac2a7sm35944679f8f.15.2026.03.10.03.46.41 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139602; x=1773744402; 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=BWL2mBfMVFAkbW/5SRGsHvOYhT2PfmKXcQZNTCwbcu8=; b=Y1mh2m3mIr03jDz7vB2WjXcpLdoPWiNPvBxgUCbXBoA9Rmo+GuImaWDVV0jb3QINSb oERA5wD9Mw8ikMHjXuAnspqGxwCNlNnpOZrFfRUljWXfaLVjrLM91yAnnCnquVtgrwDp 8kaCgnQMOTjyWsio0DSWYW7k9Nid8CnUMu5ILQH1mfL+Kbth8kkwyAdHOLbrqfTVAHF4 wWipBtmsMmREXynwezobtH+YTppAdr8UuiSIKwZnLAK6Pyd75mKhR1dT+FsKXpjkkac4 /V2pxUNgtlF1sTrE3q36qs/OzT4hqICdtyigB+ZYByAJSJxAbnKFPqSEASJp5ecdY9fn kMfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139602; x=1773744402; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=BWL2mBfMVFAkbW/5SRGsHvOYhT2PfmKXcQZNTCwbcu8=; b=i+lLmmCJHVg8M2xbMSdQkuzggS3rown2t+V46tv1MN81luU+GbxnaZJxdggn9jLaBO V/tz/n0Gor1TaO9UXAdl3CnY+/k43DssUirKAEjx0d+OnIyPkbFgNUPs/6j+Pt/MRK3w 18rm+dsOeYV5n5NkXAPWE1DE/3StmZR/XHHWUpqYAKPLbPw9RrE51FRqc+Ym25z/bek4 Huuxx7f5LEDZFtDAthfpd7rPqLsVLwyHIXIfl2HCpWElbhk3TT31ESujldfssaiSNroI AK/A7+LZHa59YiZqjQSHhyFmnI2J5mF/R8mfIc1btf6Qmz1i+lxK5VJmLl1GJIkRKeLN NoMQ== X-Gm-Message-State: AOJu0Yyu78gheYYOlN8BtzZYtJdmVZKxQbZMJuJuoTv2Cd+Ogk5smcuQ If+putlEZLZb8Vlw92nx+Zpb/0jEbwEIkx5LZGqfb745Wnjo43+RkqA7gjlDos1AbJbTQCR/voa ocdHVwSY= X-Gm-Gg: ATEYQzxGBxTvVlXMGXnEXdzjdwdaUWT3HpCplaLymlIuFA1d+kCpwDTPJr2Lie+ElLp T8fzFb2DaAF28HGhOnAJB1zscxm7yjqkgbyFM/NNw1bZqUsU6gYTJmJlH87MQaIqQUV6KPb9Joj 6fhploGvPoEQ+QycjpC5BrPyrIRjAw5q+yb4dCtqEnXCeU4b8KKz4jHmy7olws0e1b1QyqQB4Lt UgLGBCYhUxh63REEt7j8fKdIE3m/CrE4Yl1yCgJdm3Zk0DkwwjU6xLyDnruvwHj/srgtY1rPpZu crioedI+oj74TrUiTD8rJlmk80OIQmhNJfdHGmxtMX8aWZSUCOIoqbEP4GSHw0COZbp7H5GApJd FcqxNHCLmzbzM+CCM6lBkjL94MPdZSDegM6nsoUmunDlUz+RqV3MqwFweNSdWmQRWL8YTs6Jhos qEURb9y5MLDtM58ZkRdPvGLt+dzvbdIVpGD030SvXn00keg2hwGbJmr22J0DiHiH5+MN3rQ/Gx X-Received: by 2002:a05:6000:40dc:b0:439:afd8:622f with SMTP id ffacd0b85a97d-439da55536fmr27119066f8f.3.1773139601854; Tue, 10 Mar 2026 03:46:41 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 13/16] accel/mshv: Build without target-specific knowledge Date: Tue, 10 Mar 2026 11:45:08 +0100 Message-ID: <20260310104511.12670-14-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139714585158500 Code in accel/ aims to be target-agnostic. Enforce that by moving the MSHV file units to system_ss[], which is target-agnostic. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20260225051303.91614-4-philmd@linaro.org> --- accel/mshv/meson.build | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/accel/mshv/meson.build b/accel/mshv/meson.build index d3a2b325811..c1b1787c5e6 100644 --- a/accel/mshv/meson.build +++ b/accel/mshv/meson.build @@ -1,9 +1,6 @@ -mshv_ss =3D ss.source_set() -mshv_ss.add(if_true: files( +system_ss.add(when: 'CONFIG_MSHV', if_true: files( 'irq.c', 'mem.c', 'msr.c', 'mshv-all.c' )) - -specific_ss.add_all(when: 'CONFIG_MSHV', if_true: mshv_ss) --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139685; cv=none; d=zohomail.com; s=zohoarc; b=oI9+qK412NN+GcEauQl3wz2GXmwJddSpGi326bDNyo4CUpjvrQTF4ymD+/UKnTmMtz5lbb1CF+cWEfh1Nv32x+udxUOidHpzKxVry9a54O07EVZgyQk48DDFXKc9w9X0S4uOAtkMxIIj+MCxRl7s70tB/KmsYQaOJMe4M7w1COA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139685; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=gG/eFUNag0sga244ZYIXxyNH3wkjdqFekZ1TsgRZSvo=; b=ZBoDvgbYfDkS3tuLMCwtg2lryrvuE7KqNEOO3CxSkgNseOoBTZ0pLcD4KUmPFN9Vjxm+nwBiJpb4xP3kO6kVZ9AYR4+Pk3AXUkcBSjVfXAlZPukYg6HZgfVyldRIZDcCgqBwRmZYjIxlL23MI9mbLsl/TbWUNcEm6M4ORLShA3w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139685307727.3611814206885; Tue, 10 Mar 2026 03:48:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzuc1-0000oo-Ge; Tue, 10 Mar 2026 06:46:53 -0400 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 1vzubz-0000YW-MR for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:51 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuby-0005wA-4g for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:51 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-485410a0a8aso11052515e9.2 for ; Tue, 10 Mar 2026 03:46:49 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48541b6f6b7sm88749875e9.9.2026.03.10.03.46.47 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139608; x=1773744408; 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=gG/eFUNag0sga244ZYIXxyNH3wkjdqFekZ1TsgRZSvo=; b=XRKheFQw3n1LRZ7tC6nVDeyUJ0EKpzPuxN8m8fmUAEuZ4KGdmKk5lGzj0Xe55/IiOT 46HWs5a8D1n3gmou79adXdrX4JTjdavvmQgoIHI/aD2Fu1f2GhnY4CPGBW3P4vnGNoRx gqMQ5nSQmiZt2dtiOaXyyFEdFOXeN8YtUzG2om0Mbxv3JL2W6WcmtQZXAGV11kLcz8Ud BZMOXy0rs6PLjpiysP8rSDsCKLW/e8D0xaHPvGO69loZToKWpAaZfH87ZkfKbF4KsJKE MOiMQYMS6blZjTMg7SSN+bN8tjga9wZgO8qkOu0E9/WXfjUaa6tQrIZEexf6hQcsqtZN UyTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139608; x=1773744408; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gG/eFUNag0sga244ZYIXxyNH3wkjdqFekZ1TsgRZSvo=; b=QbqZVXAeVB4ibd8JfIg+sR8Mat+Hoiv3pwTSfa5Wa1kMdZkR0VEmqisFdjQihLO0AC dqdN33MVirkml0QiEFw0HYRKnQsZUAvcLqgeiwnbx7Wz9SStea/2qM8ctxpTXHUyPv+b 2q0zcCAhmTLTx1dbg05K/GGy1cegWV1TWySh7sbtBvcEc/6rImc9FZHG4Rtlol49lRsw 376qYBpYvxfWr/O2CXZvueabpyZvcYhcLxHnZIIMR/DRsmkqnLSdr/ZPV87wX7MvM0Xd KcgqKfSlNZBBD9wjlUWnVh2pA041oDGOUwMdW7WxXDzw3Zh+nNFXphEiJ9MEHiYL+NBH 2qjA== X-Gm-Message-State: AOJu0YyJOres49SmTVH3nIAE/f4oqAaNOyxAJl8QQZB8NfTdDOljKOSG pxD9U/0Jn/1XUUO+w4NZQMIIfvWyYWKBRE29z2gzIJV0UXnzN0tdsZICf6XayzQ4cw3M/Ue0REv C8JIQmVE= X-Gm-Gg: ATEYQzzf8yMiinhQRkBgF+8PIJQXd3fMqisD2RnfRZ94pSDxYI8x5kKCslDgIBwK2QF Hnth32FBplikpZhyUmPfccNU/8Wv56xqlPQTCssjLjQMDokQ8wwJQpphMYaqPo/qRXWJ67zM7oM 4SfPSxEbGu5auinQvwMeu2SNwGMNKN15A77O25V5X34lpbrLRFXddD5GSIzAFafAZ9bG51C7Eat r0n00AoFla/4/A2/FbGaRZLKb76lG1eNpKTrw/I2hd2Hx2WoYkFWUwTp7rI6+yiD3klPs5vogdR 6poVos0tcyvpvcaYRyoOMkGMndWbDZPR7uxW40cQ1uKBxDVDdZDTDSyK9rChylD6uumwVP0G4Qm HuRKqfO6Q6Bj9X4174g5AiACRJLci9EHAP0jtfiVnWrMLys0FyHfxfVQL+6h6CzfsEmJhtXh7aZ tfD8GNL04j6gHx4sebgzRIjZS867f9UKWc1x+f9OPoFDCDI6fvHnbeguaNCf0lIRR6lxmzX0Qc X-Received: by 2002:a05:600c:a12:b0:483:badb:618f with SMTP id 5b1f17b1804b1-48526966b07mr220958665e9.25.1773139608403; Tue, 10 Mar 2026 03:46:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 14/16] accel/hvf: Build without target-specific knowledge Date: Tue, 10 Mar 2026 11:45:09 +0100 Message-ID: <20260310104511.12670-15-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139687490154100 Code in accel/ aims to be target-agnostic. Enforce that by moving the HVF file units to system_ss[], which is target-agnostic. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20260225051303.91614-5-philmd@linaro.org> --- accel/hvf/meson.build | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/accel/hvf/meson.build b/accel/hvf/meson.build index fc52cb78433..6e2dcc4a5f0 100644 --- a/accel/hvf/meson.build +++ b/accel/hvf/meson.build @@ -1,7 +1,4 @@ -hvf_ss =3D ss.source_set() -hvf_ss.add(files( +system_ss.add(when: 'CONFIG_HVF', if_true: files( 'hvf-all.c', 'hvf-accel-ops.c', )) - -specific_ss.add_all(when: 'CONFIG_HVF', if_true: hvf_ss) --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139648; cv=none; d=zohomail.com; s=zohoarc; b=Lkc0BOZD/WDrQOdfnR4h/xGRZmMfh9A17QDvvE5tQd6AyQbLxl9zNrs4B0D5/588bDaVCjrMKzeBsq8DJQWyfL+yGDNKtJ7TN/U0m7feab99PXeEC84x4BnPoQfj3yNjsIBLziQsjbu4y3Hm3qblKeExlh688Fe1Iu3THcTGfrk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139648; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ujoRf0bcClqXhFXdVcwAONN87FJcA7bXaTWOZ3wQ6vo=; b=glCxgYi+12vNaPDwS2xq1bqdlxs4HtraRhE0r8swRoq9HjNptIB+pcA534EzfDTQh6VTKKB4ONK7luOrFfRUeBbBObfA3k7BE5GMDQdAG2fBDWRWutSQ2LnenL/K6fj7QC3enmqROjTvS9BXbohC2Nhiv9x67MNHiaTEdxLNDbM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139648443812.5132846772085; Tue, 10 Mar 2026 03:47:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzucB-0001XH-D9; Tue, 10 Mar 2026 06:47:03 -0400 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 1vzuc6-0001Qn-Tu for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:59 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzuc5-0005wg-H9 for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:46:58 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-4853c1ca73aso16427475e9.2 for ; Tue, 10 Mar 2026 03:46:56 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4852378e700sm196655345e9.0.2026.03.10.03.46.54 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:46:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139615; x=1773744415; 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=ujoRf0bcClqXhFXdVcwAONN87FJcA7bXaTWOZ3wQ6vo=; b=cL2vsQpv/mvWFzn9bOF/C0DgdR396OO2dyCZI4DWOA4IAz8dkee/bRztw4nyOaRHEs P0m527HYj9yEH3TaNgQ0/uPmaQfzfjC6g7gyrInzRI4Y9Le/cmJvEyC8/GHRwCIrwIba EBTvij1li78L2AHGW1ughf2D+gr6C2ewbjYelLyAkF7xeQqh+98/cDyqA8Do0OBdWsmw K4ppL47Sq8HGbp36RCc3J0pw1TtDK+uJcuF7rQrSHA5eqlS07UtmjhSaAILh+pZ06EcG X/Xay6uwAMJnGS4lM3DpmEq5Sbc2ljyTF3WZxnIK0sKZsLu1uqIiAyCxrtiCcYQAzofv lB4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139615; x=1773744415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ujoRf0bcClqXhFXdVcwAONN87FJcA7bXaTWOZ3wQ6vo=; b=fSO++DdSCZe9v4z9uRCpZLe62qOyAGNd/La0dP+dg5Wl8Ze9lnkUfIlaBgiurlSULH u6NiA+NuuO/zEZdzg48V147xyJukdslz09F5xAJVtB90XizFn0uspogoURo+35g/4+6A CmjYJx+Tpe6BbBsW5MP5K/4HYba0Gq5vCtVhaG471b1sDh9I/5DO+akiT0vQeWDv4Dyd 4GlV6qY3XErcRDe0lYgqOYx2dxZrsfywmvARDV7EzSnb2VURR/Vj5fxblkdITSw0k4N9 Kzg6lqRfuGhjFGTuIK0tw9IrutjIiBjgKB4/ok8Aq2mC3n8vT4kHE/d75yqD9fGiwTiT n/hg== X-Gm-Message-State: AOJu0Yy11uJGgy6Y3RCfRx9UWFQ3+tv0ZQ4LtAxdWVNueGPb7+WFJ3XA gp8JdK3pYWSzk1xDPKlQbMnPpRkppG5Eo1GkTd5zuVLQiIf5cHKWGsnjccWmZ+1fL1mPIoHJ0cJ Xfcyju0I= X-Gm-Gg: ATEYQzw7hlhyFAUqM2EIA8q7iK54xB1Ok2K4QcvzNAiMYpbAfXEEoZTfOMYrF0OeXi7 97hB78YYI3r5LboWvGKCorYRRfhpiSp3gtxeNJPbN4edne7Q4xFAXjuJ/MAiKtfudS2HSI1r/2L xrOc+5+feqH/DbT6z2AGOH5aQSGqItVceqUxn6veabALfya5tqg3CLk0lAuJ+gMC+n8pVhBzIge i95iRtCeBkuXaFJWG6KQQnjY6zADaO0qDihyu49t10w3CPsoz3jp3Q+APVDmyTeapqsyfDgRtd5 4CoOf1Rw/ephglfz4ht7uq3R3qlUSpgvPo1fxuhKmshVzTmLmhEGy2349LQNkaTXeZhllafSu1d X9HFFg1NrWEfN6n9obLnBlFbwByPn+vZbtPYiniwiUViImRJJV+Q0TJGrBqX8hMBv4bNmYfi3oD l9mQc8/k4SHrYuw1rJg2LjMrwz6I/5JXGF8ML59hh9a3btQHxbyB/auJPnDHc0sexKNiSs6nVU X-Received: by 2002:a05:600c:a12:b0:480:3ad0:93c0 with SMTP id 5b1f17b1804b1-4852695d1e2mr233119305e9.23.1773139615117; Tue, 10 Mar 2026 03:46:55 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 15/16] accel/xen: Build without target-specific knowledge Date: Tue, 10 Mar 2026 11:45:10 +0100 Message-ID: <20260310104511.12670-16-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139650952154100 Code in accel/ aims to be target-agnostic. Enforce that by moving the Xen file units to system_ss[], which is target-agnostic. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Anthony PERARD Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20260225051303.91614-6-philmd@linaro.org> --- accel/xen/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accel/xen/meson.build b/accel/xen/meson.build index 002bdb03c62..455ad5d6be4 100644 --- a/accel/xen/meson.build +++ b/accel/xen/meson.build @@ -1 +1 @@ -specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-all.c')) +system_ss.add(when: 'CONFIG_XEN', if_true: files('xen-all.c')) --=20 2.53.0 From nobody Sat Apr 11 20:14:30 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1773139647; cv=none; d=zohomail.com; s=zohoarc; b=G8PDvsbtGeSAaZrVXcFlGJ8x+n6S5DnkfcxFzx/IWqGA+U31D//M8gDJucDuIqMfptr40Dzdz0Pl1nt05XpUPY/RlGvVQxiTcteu/ltAAxJaNLXQ76I15CIaO39mHTv462Zf0Na+Xa1fx5IMZjnV0qFrBzVpneAk5D8MUpT2Q7I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773139647; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=VUfqTi0kH3OcUOH11PK1YSauOQXYkimq8lUmNTZ0Yc8=; b=Zf3lGoZuPU3yBPtnjRMy/pL9YzQ5QyXzf6JxGDgE5zVhRTbueoR2gu0JmPhkQuipAyWKDGLenQK7vWhYBVfxVmiExUgJLNaGlcvn6rsgIDdmE07nNlD+sRpvOA54ujjhu5hfWbkPvuQ/PZkpsuM4zUDk+lOWpPT8rWVzS3sqJB0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773139647118116.81109503762082; Tue, 10 Mar 2026 03:47:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzucF-0001md-3V; Tue, 10 Mar 2026 06:47:07 -0400 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 1vzucD-0001go-8m for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:47:05 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vzucB-0005xJ-MY for qemu-devel@nongnu.org; Tue, 10 Mar 2026 06:47:05 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4852c9b4158so24825765e9.0 for ; Tue, 10 Mar 2026 03:47:03 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485354f96fesm68165155e9.30.2026.03.10.03.47.01 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 10 Mar 2026 03:47:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773139622; x=1773744422; 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=VUfqTi0kH3OcUOH11PK1YSauOQXYkimq8lUmNTZ0Yc8=; b=BPR/6571lMAr6BgOxPNl0JwwO4QnM7AI4Ii5HymHqDX4piP0haSFuzBRH20kDlkm1M pxYlgV43on8leaPRZAk9YkQdDnpiuljYuiSXvc43Q/xb7qgNfKVWvb9hzpeKMNzr/4se 6JehpkAaQx7j3xcNnZspdiIQdc6Q44yAFyhD0AyLnNXkqWISlSp6qrHR+oChkmHGg8M+ h0odcLsUIYBx0Zpi1zcxH++7oLTbTcMGPwQyGfsU474bNEIDtQNibxGLu/gi2BQm/Z+3 8hpHF8JVB+RshfekkLeYYZZ8dEwkZcNblGBwMgMPbEbMpZ4MQtGleiISitcdB5lZk56C wilw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773139622; x=1773744422; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VUfqTi0kH3OcUOH11PK1YSauOQXYkimq8lUmNTZ0Yc8=; b=roDqvnLrQZyo4IXzrWMtaUgBm3i2BNI2NmRVnWMYbGQtm6iZ9lTjjzoLyr1U55OgyV PHy3AQwQz1nDWBiIG3V5PGqZ+EBsxAxyypAH1vS/7/O07Ix/AO2R3p2363/lpeglQrK3 l1oGayczC8rF5Nk0ZaVDfut+lgU7+xmC488S43XkqiNROrdA2MFFMjIsppFW8eAL9kRp Tn/bwrHP0+07Sx0bakKiotvse8pyJCJ94bEFLskI4iZfAHOavynf+9DaLscJA2+yfJkT YhiZysjXbDiASy+CmfisFM5Y+O2hfkNvndMbPjN0aPII8y6e/5+J41VoFVAUPdJvynQB 6QdQ== X-Gm-Message-State: AOJu0YzoGBxHGGme7RTSrssd+J9z7hsUyDxTcuRZwBibb0QuIK5Yjruh bQji8v/r1Se82k9hbsekNfsgHyeWk443iytBaIa2NqE0dek/KHaYPcYsP0BTsWeR0PYelJAK+Iw jTNnlBfI= X-Gm-Gg: ATEYQzy7LNf2b2MMawwvw0tAngBSrKLRgwjzAOlIYSO155Byuoc6McnYTUFzpuPbtK+ p+yAtr1IjxTOhnV9Q5OGiH/f893H85Se+IHrlqPhqiJFCuqPWfjEd5EUugGeSkF/3H8ZoP/E/9n PS7C9qzmUSuKExugV1iV604s9EcBRmJUrfdUCkYUkzIbQmy2BX6BrlDlbIQuQ98jl2pzHT5Fez4 Y1Ra94oeBI99yizW3K/1TDyMePY77Kt+dHIAVY+vttfRput+5uexd+hiuqlogE0BfFSXsxLid0f o1abwAwEi5JqF4Wgb9bA4TVYCZyb4BZdejxWdLX+F4+9Vy1MHNnVnuWZPKp48rvUAOL8SWvJ/5v 71pY1aXSUUvDeni5O9OO80B63kQKsltdBGMk/6hCZuPKtxKoA+qEknu8laHglr/NFa4eei1rKa/ TBKZ+5HXYEf2EQkPs/el4j52JollGMOBErHeHyVYRercqzpLSDDete7vymgCm77Z4fuGFzvXQB X-Received: by 2002:a05:600c:6090:b0:485:303b:c50a with SMTP id 5b1f17b1804b1-485303bc6c8mr174484835e9.13.1773139621817; Tue, 10 Mar 2026 03:47:01 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 16/16] accel/qtest: Build once as common object Date: Tue, 10 Mar 2026 11:45:11 +0100 Message-ID: <20260310104511.12670-17-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260310104511.12670-1-philmd@linaro.org> References: <20260310104511.12670-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1773139648187158500 No code within qtest.c uses target-specific knowledge: build it once as target-agnostic common unit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Message-Id: <20260225053408.18426-1-philmd@linaro.org> --- meson.build | 3 --- accel/qtest/meson.build | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index f45885f05a1..1867560da63 100644 --- a/meson.build +++ b/meson.build @@ -3897,9 +3897,6 @@ subdir('linux-user') subdir('tests/qtest/libqos') subdir('tests/qtest/fuzz') =20 -# accel modules -target_modules +=3D { 'accel' : { 'qtest': qtest_module_ss }} - ############################################## # Internal static_libraries and dependencies # ############################################## diff --git a/accel/qtest/meson.build b/accel/qtest/meson.build index 2018de8a05d..e1b089e02c7 100644 --- a/accel/qtest/meson.build +++ b/accel/qtest/meson.build @@ -1 +1,4 @@ -qtest_module_ss.add(when: ['CONFIG_SYSTEM_ONLY'], if_true: files('qtest.c'= )) +qtest_module_ss =3D ss.source_set() +qtest_module_ss.add(files('qtest.c')) + +modules +=3D {'accel': {'qtest': qtest_module_ss}} --=20 2.53.0