From nobody Sat Nov 15 07:41:38 2025 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=1754185441; cv=none; d=zohomail.com; s=zohoarc; b=F7cz6nTMzGOQ6Os2qbZxAZi+AovhVIIvCgNBRC24cMjeMmo24ZqcdpYXb4LjWfCgMgFVOn5yiWhGR7HRB2ZoYj3fJi8wlEgHZOXOYzv14z0MJjO2tIrLz04GXgjmrCbVDB+4Jo2KAdIxWVzs+ICyUEutBsfIBTNj+lxq7ytkzyw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185441; h=Content-Transfer-Encoding:Cc:Cc: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; bh=cbRbPDY2xoRqId21bMDT0xVX8cUKze6JV5vAtkR4wEg=; b=OYjuGR7w25eEoBVihH7QVO9SSs2u7tzNGofv4M8inaUpPwQ4BooNHV52iI77OLiHeqI9mnegpYwb20xVH9rnn7N+6YA2T37pO/51e/GIVpPvXdsk5aoqjPvOXZtZCjQPObPF+bZIRl8xYVyVfioRC5coK3RVpZu+IZ22mBDhZkE= 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 1754185441194786.6670459846855; Sat, 2 Aug 2025 18:44:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNiI-0006nX-GO; Sat, 02 Aug 2025 21:40:38 -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 1uiNiG-0006kn-S8 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:36 -0400 Received: from mail-yw1-x112a.google.com ([2607:f8b0:4864:20::112a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNiF-0004bZ-AA for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:36 -0400 Received: by mail-yw1-x112a.google.com with SMTP id 00721157ae682-71840959355so33813597b3.1 for ; Sat, 02 Aug 2025 18:40:34 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185234; x=1754790034; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cbRbPDY2xoRqId21bMDT0xVX8cUKze6JV5vAtkR4wEg=; b=lIu4ktoLzY1A3dpgzysRMo7Gv+2CPJC32JQYzM2SWoSLP//fBP/FV/YTVY55I45QGc S/i1Ll1oOQuCG/izhhNAOINiQNPRrNEvFdYCHP/YTwthB1ljf7zAN2ZG0IplFv7aiW9D 0wAdhv0pqozwoh626izRq94FcTWpRCqPXtFnGDKBI1ndj/zBDmlJXp7au0rgQUR6PuKj Hko5BDxzCZvTYdJi5bGqNLwu1oK+E+JTrCxMXVxaz2JO//0uWzQnfbd+EaSTI3boADpL hxg0WJj6r/DuEAjZli8ugqBvm/1B8f1b0GGML7XxVEdGP+4F2uChvBtOmt+64idLyp35 G0tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185234; x=1754790034; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cbRbPDY2xoRqId21bMDT0xVX8cUKze6JV5vAtkR4wEg=; b=UEL5yRrE5Cme1U+Feu5z8LWEnCfh1cK60St3RQx7TOsgfJcsgwYf6psudDftb7VNdy cGmQXEAifHiZed2sLYgZ8kfD9R1oPQ9tuDdsaH7ijfT9iv58tGgJO3zIEq5YvLWykzGT jy/fAJODJ5JyBJwEKURFgNQSHPvzSe3htMT6u/r8ziD5EJZ9meW/HReOIviFb7l0nDME JQ6+Y3C2GF3S/aDeTmPybvouExRnH17wMljnEjA/x5qi0eU8N2G1UTbNUWSJop5UaTYm 5dl1uRGB5Z1XLn2MuHotgC6re+U+YDluFELEMSDXy20Ej3qJNFZIIfxEfcPr5iigXG4i +f2w== X-Gm-Message-State: AOJu0YzAUWz+gMj5rHtpP7zIFS9NgZ6dEInSsIMzvDYdgQfjSjBPv3Ge bdDFK7aT6+JV1YOlG1jih0jxaQD+nvSmJS2x8kAbjCFWyFqbhc5qHyLh8RCFfEVaRFx/F4rzKPn gzyCjbS0= X-Gm-Gg: ASbGncs922MNq88ejIv+LPBleGeZwm2qXddkXqLD78bggb4zg3rU6xc7FixsmpxBQM1 9ZQTL1PF8Lycced9ko4gbrOy4H1kalfRgY5J7FzwYJFLjU7ptd2pVA13NTSs+gWUEOZSykVnWCp jiRZlyUp+3dyRO+bO5xhkDICZivoEU03rVRPYIFGxFZwaJKf57WJEIpltHsbR/hDvFjMwgGxx4M gGHqId8Jp4HXKU9GFsM2qoqrjBebQ5JrX4oU2pG0AOSBKF24QaFLHnA7uj4SdU1gMRenk84Z44v uNRF08m4JGGPnCS7sjhP3dc8emmYA//9s6AISPM/zrhBI2QoRzyKp7IMmIz/dFzqQDlyQJsqcYs YAcmLkfAIC6Rb0ecJAGHTgN/rfC/gqf3h5loBwHSctW3bZAVYBSn2 X-Google-Smtp-Source: AGHT+IEtSRn8NUbqRKE920EBw5ICwQKkp+/tuDUaqcl3spANNJHnAZzM0NEf5/jRgSPq4ZjsFWqifQ== X-Received: by 2002:a05:690c:fd6:b0:71b:69b6:9438 with SMTP id 00721157ae682-71b69b6a1a3mr112635847b3.0.1754185234082; Sat, 02 Aug 2025 18:40:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 01/11] target/arm: Add feature predicate for FEAT_CSSC Date: Sun, 3 Aug 2025 11:40:09 +1000 Message-ID: <20250803014019.416797-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::112a; envelope-from=richard.henderson@linaro.org; helo=mail-yw1-x112a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185441913116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu-features.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 5876162428..f12c5c8be7 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -604,6 +604,11 @@ static inline bool isar_feature_aa64_rpres(const ARMIS= ARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64ISAR2, RPRES); } =20 +static inline bool isar_feature_aa64_cssc(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64ISAR2, CSSC) !=3D 0; +} + static inline bool isar_feature_aa64_lut(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64ISAR2, LUT); --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185388; cv=none; d=zohomail.com; s=zohoarc; b=lez56LqRgx1V7O04YrPu8ODU/EFOCaRrYb/+6O06NgGZl7lUNlz4CDIO4QZDSt0eo3qgThRK2rM4kAxmZ3nsIMOZisUgmCiLuuzSaaqM8mg/pHJ6bThUoRjCLSdHm+/E57fQ3eAK4v96SPGIjanUWlzD5AC3R36zOwUudIZzQpg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185388; h=Content-Transfer-Encoding:Cc:Cc: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; bh=tvGZH+bmzZVMm/Dci9lihogJ/vULk9Ac9jLiyluBLDI=; b=WamsQsYyHsmGaW3Rv5ykqTAsmpKtbv+hs7kDZIJCewCybzzNPlYCLBpqu9pMXbCDMt5b9IuJVHGp9YsrGeiOJZ4vjHSRlVrnMEGxAuCr3g+b/rGR4LToCqNFk3/qocrvI+GPdECF6ONdLDED/DUp904BMPqI87COoLYIl93fQ24= 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 1754185388247790.049224953534; Sat, 2 Aug 2025 18:43:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNiN-0006ts-8g; Sat, 02 Aug 2025 21:40: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 1uiNiK-0006qR-IL for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:40 -0400 Received: from mail-yw1-x1132.google.com ([2607:f8b0:4864:20::1132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNiI-0004c8-W5 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:40 -0400 Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-71b6ad2d6fcso23247917b3.3 for ; Sat, 02 Aug 2025 18:40:38 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185237; x=1754790037; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tvGZH+bmzZVMm/Dci9lihogJ/vULk9Ac9jLiyluBLDI=; b=ZQjWDzkKe7gENm4hnl6XM5WcFvm0b7UP8jq68xbgFtY1lQzA/yojyUDiljzq8rODho NW8aEvpb2UMb24Ry0+hYsWMUJJsielxa8AItH8IL4WM88xQ7jtPpbxMNG7YCIZPNfF1f mMsAqHgFD9N107Ihz06Wz8plMAySD0AklTOwKwGPWpBQn/VczlYLZzbfwoxiXCihWkTS 5TVCVITcbjyK51A+64zhCgJQo7zIV5kHrd8l8FUmoF7qI6It8jnB6gmL2Rjp74W8v/Mm RpANC5RQMMMxfTytZbuLF+FPuA2Jr7HQB81VhyEHEJrCxC6Js+teJMm5b3FlJTW43/Vd UJ3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185237; x=1754790037; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tvGZH+bmzZVMm/Dci9lihogJ/vULk9Ac9jLiyluBLDI=; b=SmQppu6O0Rlo/EMkvqFCh91jASiL92JwotuNl4bFTxlvmZ2/U5S9+EoT/kl4bSgoBG LR4OsacWQbv8eTT/blCb3TkBfsRwh7/EsnR/crjx7NBWHzKz4cxVTj16xGFI+BkXszlp UEtnPyNf1GH3vZmTW3rohFvPTAy15230QRpQ8hIGyCiihBPOpW5dmJ/GkMtIAddLOmhZ oq5cwVWCt0PptU7jbeAmj0Pj/qtsiY/cPRdbytBz0Pdy0gxUBeQ9HOLNFYIXqT2zBjZ0 ZpzN32QydqbR2pwv6arPY43MattwVEc5hlarQYs6EFtRR0ZIHX96psZUMKXmCgnW6MCC lugA== X-Gm-Message-State: AOJu0YzRAhhCPs5s6W6TI1E/saYxZ6ktDbXaF+pTgx6ZTyfJtsgot7Ba UHi5dIZJVUXoNn/YHVhVAJ1INkexi1GKe5Scnh+kTHTAhLeNQr9lEzrWxauoqN9chwV6IUT7TQk bnssNLTY= X-Gm-Gg: ASbGncsuwY0nvOFFRsd57xbMnfA/t90myWjxIzfhJtG7XjYcx341G6/D9ytRAEci8de qKxkHOKN4D64AfJDiDMrnDO+owPUiQINThRwyYgXa9NLeWWDEe8VvJts+xtFs2qXqDdfNcshR5s XBLzneKazkJek+CcXPiZ4cyK4+NkasIi/nT3Jnjua04GuELAAZvIwN3E0mFrn19NzJMvsKG3E1N G2SIRIG7uBzzym4uLfARK2JFoYhuuhWnlXDAaCJs+pC+bT/88EvD6NfVtdshNQFIVLMEcACYcum N+tCTDLSb+iqUAy7pGOkiyU/YoAXtrzriS2HtA2Ma6l5Wt1PxI8VTfoK1p+2haHifqmVMRkWc6Q Co7Ycutpr65MrVrA6zXRs5j0LCo/bIWwuALdut1XXVsNzNcIS1uFqlHlbJShNESU= X-Google-Smtp-Source: AGHT+IEsVZLSif8/KZEicQO+IoSQ9gUvnz5Z79+sWB43WjZLCo6Sv1xMiR5Slz3M07WiqVuRCHL18Q== X-Received: by 2002:a05:690c:6d01:b0:71b:6703:b710 with SMTP id 00721157ae682-71b7ef8b436mr54861927b3.33.1754185237407; Sat, 02 Aug 2025 18:40:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 02/11] target/arm: Implement MIN/MAX (immediate) Date: Sun, 3 Aug 2025 11:40:10 +1000 Message-ID: <20250803014019.416797-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::1132; envelope-from=richard.henderson@linaro.org; helo=mail-yw1-x1132.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185392066124100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-a64.c | 44 ++++++++++++++++++++++++++++++++++ target/arm/tcg/a64.decode | 10 ++++++++ 2 files changed, 54 insertions(+) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index dbf47595db..b70ae5befd 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -4552,6 +4552,50 @@ TRANS(SUB_i, gen_rri, a, 1, 1, tcg_gen_sub_i64) TRANS(ADDS_i, gen_rri, a, 0, 1, a->sf ? gen_add64_CC : gen_add32_CC) TRANS(SUBS_i, gen_rri, a, 0, 1, a->sf ? gen_sub64_CC : gen_sub32_CC) =20 +/* + * Min/Max (immediate) + */ + +static void gen_wrap3_i32(TCGv_i64 d, TCGv_i64 n, TCGv_i64 m, NeonGenTwoOp= Fn fn) +{ + TCGv_i32 t1 =3D tcg_temp_new_i32(); + TCGv_i32 t2 =3D tcg_temp_new_i32(); + + tcg_gen_extrl_i64_i32(t1, n); + tcg_gen_extrl_i64_i32(t2, m); + fn(t1, t1, t2); + tcg_gen_extu_i32_i64(d, t1); +} + +static void gen_smax32_i64(TCGv_i64 d, TCGv_i64 n, TCGv_i64 m) +{ + gen_wrap3_i32(d, n, m, tcg_gen_smax_i32); +} + +static void gen_smin32_i64(TCGv_i64 d, TCGv_i64 n, TCGv_i64 m) +{ + gen_wrap3_i32(d, n, m, tcg_gen_smin_i32); +} + +static void gen_umax32_i64(TCGv_i64 d, TCGv_i64 n, TCGv_i64 m) +{ + gen_wrap3_i32(d, n, m, tcg_gen_umax_i32); +} + +static void gen_umin32_i64(TCGv_i64 d, TCGv_i64 n, TCGv_i64 m) +{ + gen_wrap3_i32(d, n, m, tcg_gen_umin_i32); +} + +TRANS_FEAT(SMAX_i, aa64_cssc, gen_rri, a, 0, 0, + a->sf ? tcg_gen_smax_i64 : gen_smax32_i64) +TRANS_FEAT(SMIN_i, aa64_cssc, gen_rri, a, 0, 0, + a->sf ? tcg_gen_smin_i64 : gen_smin32_i64) +TRANS_FEAT(UMAX_i, aa64_cssc, gen_rri, a, 0, 0, + a->sf ? tcg_gen_umax_i64 : gen_umax32_i64) +TRANS_FEAT(UMIN_i, aa64_cssc, gen_rri, a, 0, 0, + a->sf ? tcg_gen_umin_i64 : gen_umin32_i64) + /* * Add/subtract (immediate, with tags) */ diff --git a/target/arm/tcg/a64.decode b/target/arm/tcg/a64.decode index 8c798cde2b..c1811b0274 100644 --- a/target/arm/tcg/a64.decode +++ b/target/arm/tcg/a64.decode @@ -156,6 +156,16 @@ MOVZ . 10 100101 .. ................ ..... = @movw_32 MOVK . 11 100101 .. ................ ..... @movw_64 MOVK . 11 100101 .. ................ ..... @movw_32 =20 +# Min/Max (immediate) + +@minmaxi_s sf:1 .. ........... imm:s8 rn:5 rd:5 &rri_sf +@minmaxi_u sf:1 .. ........... imm:8 rn:5 rd:5 &rri_sf + +SMAX_i . 00 1000111 0000 ........ ..... ..... @minmaxi_s +SMIN_i . 00 1000111 0010 ........ ..... ..... @minmaxi_s +UMAX_i . 00 1000111 0001 ........ ..... ..... @minmaxi_u +UMIN_i . 00 1000111 0011 ........ ..... ..... @minmaxi_u + # Bitfield =20 &bitfield rd rn sf immr imms --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185414; cv=none; d=zohomail.com; s=zohoarc; b=Om7Eiwg3hsJV5I7SSPESmTBXnk83jCR1fJeTw0i5+Rqz01vymZPYbpZiFHqIDvoR4bt0hejf0R8X1+gztT+eJfCZSe52NmR+Tno7Ha/nMTu6O0UG2YXIi/c+8sJ/r6Sbp+4nl0y3v9V5EDXzVjkjX0DaeOimmp5bJB4aAHB1B7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185414; h=Content-Transfer-Encoding:Cc:Cc: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; bh=5QRcnvxwZypphjcA+fW9oCNiYxHSuJ0HKfcdLiVVrmc=; b=cvXXsY89XC3IMez5iNkIStKKhsTWKItcikr1G4zFU0Rk7IsQFJS2gVdFx6vrik7Z9XjR/RI73VBcMKUNnlwqEusHpFTMgE0vqT42vjqCDBansTFlMfqXBvxyiC/gWiWQOdZbLlfNUNxi99HW9YVTpQlbVYqVWxY56BhhCzjQh5I= 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 1754185414831191.7164700362447; Sat, 2 Aug 2025 18:43:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNiQ-0006x2-DX; Sat, 02 Aug 2025 21:40: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 1uiNiN-0006tv-28 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:43 -0400 Received: from mail-yb1-xb34.google.com ([2607:f8b0:4864:20::b34]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNiL-0004cb-GN for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:42 -0400 Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-e8fd38cb2abso2726351276.0 for ; Sat, 02 Aug 2025 18:40:41 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185240; x=1754790040; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5QRcnvxwZypphjcA+fW9oCNiYxHSuJ0HKfcdLiVVrmc=; b=baDOk48iK4I0alefuz+HwDt0XTNBsCntI7/bjThFsMQAfWlYBF089x59AB6cNyjQLJ ciQfOaevEuJ8e/qn6514v8rjqOFt4OVwG3cVJQ+BydKZ6ILZAnBS7HTVUu7ln3YEWWn7 Svqbhqz0nkxfJqrhaHFmrcUK+mXmUt+lBwyb0+qDlAjBw+DhBPWtRi+xC0ceSRd8p3d2 gaMsy/bjI+qwbWagzCQGekB1NoMUQp0FjTKW3S97AJwpQ0xFqmYCe6xdJ5Ebzyd+yPMP LoRbyK49r5BF7bGoLm4kFHMDCfDPjoX1bpIaRzIm99XeKpvtY/lrlzlovo2JfOo3RC3g aLrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185240; x=1754790040; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5QRcnvxwZypphjcA+fW9oCNiYxHSuJ0HKfcdLiVVrmc=; b=HisIfoSzqxYpd32jFdLC2gD8jX5SXya+kPrVarZ0QaqVpHsk69bUzf4UZnFIwZyBZZ Grnij6FIH6lwlVtzeNR6XiEWM+Hj6Fkgk38GK3rOUAAHCffj4Q1C65HOYEjk/O4+TvaB tTLlyaS5lK7yur8wkr5dJzOOv9MDBEkbNFBIKPLrcdAa3fgJrIz/Kgr0NKutKy9S26ox 3OQHPOyYjnnkjjrQNVhe94jBUMr19asaSgMq277TkhKGQ0IoeVaLubEYs4n3CfkLaLxs CcyiFBe/MWjAxdteL/PFsCSghQ62eQYDXO82S9LKpj5MBU3h8IhyXvgqbwmCdtGkbGOq lQYw== X-Gm-Message-State: AOJu0Yx3JwGHLwyJc/5Y2wEEd6qYl7BKo8pJfr0mT1yMGZCLWlRUmBjd jy0ld3wrymb92zoC4l6B1qL+9C0ZG69cAr43tjfcEofq1nD1jRjn6poG+jWtvJTOvpsJhP7kUw3 AnTjOweY= X-Gm-Gg: ASbGncvn5CGyGUjbuUzm9t3NBLa4cyRxmainRzNL3W4tiMEJ8Lz343NceEjg1O+pi5y oE2J/gIJcswq2zOhUAp+8Uo0BTekyXD02q3b5cnYZMfgmf7pUcfZ6jeYzeWw6UgSPQ4BCxf9gxP cglHry7HMHwLJQCDaWkpjKK+hqzbdiUw2ZgPc8oH2/Em60456jcA05dnX/VCmDaK+XlaVwNLw22 7R2rzmGTOFRyCMrI9dwCTwf2s7Tu29JcARA5mE3JSWrRL6/cwNoamvJ2yIy9nH3ZHqIixGLcduu dt58v9JrVrCHtWxrHzLE/U900bPT3Tns9kKQglbl/kviHB/3KJillIanb/pfB/W+Njzm2Y2ic9h s2z1b++w2yvk5kCCdVFHagPpRusT5kxRwIMjWl07TmftHRA1lGhlW X-Google-Smtp-Source: AGHT+IHFJtSXHJ0rqgwtfe7GEGd7wopnQpf02JHSKD5f8uO3oSxDVSn7lDIRNQmK8OcPTk1k+pTAxA== X-Received: by 2002:a05:690c:39a:b0:71b:6ad2:d10a with SMTP id 00721157ae682-71b7ed71054mr51823487b3.11.1754185240474; Sat, 02 Aug 2025 18:40:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 03/11] target/arm: Implement MIN/MAX (register) Date: Sun, 3 Aug 2025 11:40:11 +1000 Message-ID: <20250803014019.416797-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::b34; envelope-from=richard.henderson@linaro.org; helo=mail-yb1-xb34.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185415679116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-a64.c | 22 ++++++++++++++++++++++ target/arm/tcg/a64.decode | 5 +++++ 2 files changed, 27 insertions(+) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index b70ae5befd..bb92bdc296 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -8201,6 +8201,28 @@ static bool trans_PACGA(DisasContext *s, arg_rrr *a) return false; } =20 +static bool gen_rrr(DisasContext *s, arg_rrr_sf *a, ArithTwoOp fn) +{ + TCGv_i64 tcg_rm =3D cpu_reg(s, a->rm); + TCGv_i64 tcg_rn =3D cpu_reg(s, a->rn); + TCGv_i64 tcg_rd =3D cpu_reg(s, a->rd); + + fn(tcg_rd, tcg_rn, tcg_rm); + if (!a->sf) { + tcg_gen_ext32u_i64(tcg_rd, tcg_rd); + } + return true; +} + +TRANS_FEAT(SMAX, aa64_cssc, gen_rrr, a, + a->sf ? tcg_gen_smax_i64 : gen_smax32_i64) +TRANS_FEAT(SMIN, aa64_cssc, gen_rrr, a, + a->sf ? tcg_gen_smin_i64 : gen_smin32_i64) +TRANS_FEAT(UMAX, aa64_cssc, gen_rrr, a, + a->sf ? tcg_gen_umax_i64 : gen_umax32_i64) +TRANS_FEAT(UMIN, aa64_cssc, gen_rrr, a, + a->sf ? tcg_gen_umin_i64 : gen_umin32_i64) + typedef void ArithOneOp(TCGv_i64, TCGv_i64); =20 static bool gen_rr(DisasContext *s, int rd, int rn, ArithOneOp fn) diff --git a/target/arm/tcg/a64.decode b/target/arm/tcg/a64.decode index c1811b0274..a886b3ba4c 100644 --- a/target/arm/tcg/a64.decode +++ b/target/arm/tcg/a64.decode @@ -708,6 +708,11 @@ GMI 1 00 11010110 ..... 000101 ..... .....= @rrr =20 PACGA 1 00 11010110 ..... 001100 ..... ..... @rrr =20 +SMAX . 00 11010110 ..... 011000 ..... ..... @rrr_sf +SMIN . 00 11010110 ..... 011010 ..... ..... @rrr_sf +UMAX . 00 11010110 ..... 011001 ..... ..... @rrr_sf +UMIN . 00 11010110 ..... 011011 ..... ..... @rrr_sf + # Data Processing (1-source) =20 @rr . .......... ..... ...... rn:5 rd:5 &rr --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185404; cv=none; d=zohomail.com; s=zohoarc; b=P4G3U7Yb9gV2O/+xeS+NybjIqg8UGeLzcZ2geW1nxzPZITno3q/HZzchozBZwEw2q3TZ2ivLFFsFmA4ibV/+mCcpd87tLRIBP7oqbCu+ZlIuBt9PqX+P/VaTqYH5LVR152mHUpbWYx5qeaHxKl/RDVuqIS4w0CcvLwE+vSfuNUo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185404; h=Content-Transfer-Encoding:Cc:Cc: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; bh=OKKdhFemsGNB6aPKRV6dAvFjepdpP1yhrMp+rKvStFo=; b=ewChadZnZ2zT3Cc6QaJq5ygzF4lOLptEEVPadDBPDJ78y7XzajsP5FSJhrOyHMUDXjqiNxhzlN+6yBa+1B79JgH5zjKSqszljCNoICMiDxAFKLbB0aUUq80S5LBQDZQhpmS7RrPi5GdGTixjKUmuVBRU6xYHeRqOSpNfoVinwI0= 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 1754185404722186.5008098111075; Sat, 2 Aug 2025 18:43:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNiU-00072O-TI; Sat, 02 Aug 2025 21:40:51 -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 1uiNiR-0006zB-4x for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:47 -0400 Received: from mail-yb1-xb2b.google.com ([2607:f8b0:4864:20::b2b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNiP-0004dH-Jn for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:46 -0400 Received: by mail-yb1-xb2b.google.com with SMTP id 3f1490d57ef6-e8ff3ef84d7so333239276.1 for ; Sat, 02 Aug 2025 18:40:45 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185244; x=1754790044; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OKKdhFemsGNB6aPKRV6dAvFjepdpP1yhrMp+rKvStFo=; b=InSeZevgruqZ/wlG5LyJXiDCuqyqb5UFwtU2UdWxQk0J1BIcoma85Eu7UUX/bmSqjH K0Rg0G4TTaEKT9jQGTVxtT+LStfWeu9DDmNJW3Jlrc/O7kDtoKSCzSCMfa5AcRBIWbR7 lhLftH7241vMWgtZp/7n4Nt+xzD5uajO/9KYOL0HMylZVR0hylmJO5Q+dEHBFcXCXyOO AHoBlp9t1RCxq7hKKcFCRDgNOajb7M/HZkq4jctLEwPkdIMrvAggt8W6PxleT9Ssmodn +/x0lXLx5dfubx8Z+rXEbqNXPQdNUr8lyWs6psk4wcBBgQObVTyad+mkBBtnLr7SjSqA g6bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185244; x=1754790044; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OKKdhFemsGNB6aPKRV6dAvFjepdpP1yhrMp+rKvStFo=; b=SQHV2kS0a3hs/NTeRBoz5wl+JFySsU+b8LenWo0drmvCMzzMbl49EHprSGQDz1WLrZ 6RGP0RpT+d1paUnyEbeoeRokFe89f4owwh2E1UK9yr07dt6V6MBOtNSV3ksy8RZDrRrM Ma/LCGLjnuk/mhonwiMwvedNb7CWh0DNOTc9sQicph24QdXrNA+tlJzh42Bcf56SgnDU 8TtY8S2vnT/M/bDRUu2plJCqTxWXVvsYAsvccehDHd90gLumTr6WmfP6VFWC7LceMBHy HmAkJ3Y5RcFe6UgttqreTkhQT7K+WWnsoE9Mi8qeVqvuAwu3In7y0qtDBWP4VcNpLh3i XAQQ== X-Gm-Message-State: AOJu0Yz8xs8IdI+EtiXf5CY+o4misIqYhRd/G/8FTjOOl8iS0WbVgj3z i3RORb7lDS99HEfOW4Y2DQPBsrKrxO3SMkUz406fW1dH+PgXYAnDkpqKUgNcILvsiCzshDigSmn pJT393Jg= X-Gm-Gg: ASbGncsmjTbppvmdBXtWwZxKNBYYOm+jWUSRVm+k9kKT0+fVsoIGeaIUdBftwgZJFLu xCEAAaJ6tFDSObX3lH/KTWHBVwDV8O4nhsl2MSzYnoPJwwzFDv0kz4f7yL6P0avLBAJfkV18vw+ 8RzBlWvMzWGZuh/bNeGIARtsum7iDNQWXpa2o12DW7+aF7RZGKnYsxBx/WqPvHAD0wS6MF/tuM8 BBrY97dGOKNiKZgHs+BseBps0KqwGbUA9YvwIw5iSy4b4qbg9OsCF/SV7UTjw3AFT/zmogqOW8m yTOr/Pu3CFrlQWjAMRtLBG8i3zUZFzduYbxI993QmlHNhA/6XLMQcxpvzU3P5HNDCRTs3OaS5px sOLFfTLNFNI7PtJlV6drMpTvmGuXaa+toMwAPhAMLlFCZPuF1C6K3 X-Google-Smtp-Source: AGHT+IFO1GSbAuNHuG3Riyg4mq6BpcUTTxud1+M1lxjY4Cf0Own4P7xDvhPIV8VqjXnyHf3Uhj1lWQ== X-Received: by 2002:a05:690c:708e:b0:712:d70b:45d5 with SMTP id 00721157ae682-71b7f437748mr59311697b3.33.1754185244442; Sat, 02 Aug 2025 18:40:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 04/11] target/arm: Split out gen_wrap2_i32 helper Date: Sun, 3 Aug 2025 11:40:12 +1000 Message-ID: <20250803014019.416797-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::b2b; envelope-from=richard.henderson@linaro.org; helo=mail-yb1-xb2b.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185406116124100 Content-Type: text/plain; charset="utf-8" Wrapper to extract the low 32 bits, perform an operation, and zero-extend back to 64 bits. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-a64.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index bb92bdc296..64a845d5fb 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -8231,13 +8231,18 @@ static bool gen_rr(DisasContext *s, int rd, int rn,= ArithOneOp fn) return true; } =20 +static void gen_wrap2_i32(TCGv_i64 d, TCGv_i64 n, NeonGenOneOpFn fn) +{ + TCGv_i32 t =3D tcg_temp_new_i32(); + + tcg_gen_extrl_i64_i32(t, n); + fn(t, t); + tcg_gen_extu_i32_i64(d, t); +} + static void gen_rbit32(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn) { - TCGv_i32 t32 =3D tcg_temp_new_i32(); - - tcg_gen_extrl_i64_i32(t32, tcg_rn); - gen_helper_rbit(t32, t32); - tcg_gen_extu_i32_i64(tcg_rd, t32); + gen_wrap2_i32(tcg_rn, tcg_rn, gen_helper_rbit); } =20 static void gen_rev16_xx(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn, TCGv_i64 mask) @@ -8293,11 +8298,7 @@ static void gen_clz64(TCGv_i64 tcg_rd, TCGv_i64 tcg_= rn) =20 static void gen_cls32(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn) { - TCGv_i32 t32 =3D tcg_temp_new_i32(); - - tcg_gen_extrl_i64_i32(t32, tcg_rn); - tcg_gen_clrsb_i32(t32, t32); - tcg_gen_extu_i32_i64(tcg_rd, t32); + gen_wrap2_i32(tcg_rn, tcg_rn, tcg_gen_clrsb_i32); } =20 TRANS(CLZ, gen_rr, a->rd, a->rn, a->sf ? gen_clz64 : gen_clz32) --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185400; cv=none; d=zohomail.com; s=zohoarc; b=dev1mSsIhw5ZNR7awKYNlDR4+Ez0/MRJMAOCcOfDTFxidq8WmSeP9luyXPu3yr5N7sLYxXrTmHoZFWwXN3dArOTCQ+HlsFElZMFkVRSPP3iuwStlgLU9cARBCXr5WLr/mReWeSQ6QkoXi4S1oj/09EBwG0Ef4X1iKqD4+9wvrCo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185400; h=Content-Transfer-Encoding:Cc:Cc: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; bh=dQ2NY5MNWY3DD2jQgRH4HyQ6JAhqM6IdYiy31hojvJU=; b=HWmiUrzzQPaa2Yhj+xFdcURJB5Ro3TzaG3ds99jw0VebodM8IBnwTpZVfFA2eyfFA9dGRYchRG8Gi5MvOKZakqOn5VCMR/d4XjokaycAuUuKAIIC43aAa8b49zGf1kproi4XKJVa0/ay17lumakwxpPL35oZTCdvmDe3kWavYKE= 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 1754185400729402.8165398971397; Sat, 2 Aug 2025 18:43:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNic-0007Cc-Nv; Sat, 02 Aug 2025 21:40: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 1uiNiZ-00079A-8k for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:55 -0400 Received: from mail-yb1-xb2b.google.com ([2607:f8b0:4864:20::b2b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNiX-0004dn-Kp for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:54 -0400 Received: by mail-yb1-xb2b.google.com with SMTP id 3f1490d57ef6-e8bbb605530so3745898276.0 for ; Sat, 02 Aug 2025 18:40:48 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185248; x=1754790048; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dQ2NY5MNWY3DD2jQgRH4HyQ6JAhqM6IdYiy31hojvJU=; b=GHmXIObopVqDpqd1pmTYZwwdsqobq9/xs20wnDMyMhJMFIpUfhua1kvf6a3jQxJhO/ GvZaSVk3PClTnpEjtO+G7uBd5rPH1LgAGNNAUILv+fXDZV0wkJGw3rq9a58R2rnFkRty rUOZZKf7BOcKTc73O7FtEgoUBccVukyvRdwTTzyMnW2W2ogdK8cQoiSwA/XapfNtE9nv W2keeDC8RgwJOIMqvAY8ozRPAMX95H9uPEdJ8LSQomC0Ab7GD9yh4hhnNq0cf98Fx6Ef NvwEcD+g0wvDWS+RnZyYlNyw1GfY/nqDhYrhdqXy0RVueEPcjj9QGcbqtCQz57vqc8lB RwwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185248; x=1754790048; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dQ2NY5MNWY3DD2jQgRH4HyQ6JAhqM6IdYiy31hojvJU=; b=GrNrpzzd+rzmSTzGSFvGzZusl/OZyhdudKR4HTi8wPKsdi2ovvfVFX0Ax2YRRaU87N thz0w78Xn2crPXCr1LFt0cFQxU3UHqeVGflMgKfy4AT/8JZFCaQhIxaX9k0IM/MrrBhF aeOfSTvXoI4Dfshq2ONMYyLdvtgLr0Q6qm6uvVC1MrnOeqnomY7SBogTiGBs7vRUMbJ3 BvXD3lQBaH0RQQkHeFEjvxBjZYjuXuIhp3c6yzcyCMj/u/uzJls5vGjyDo0vght85oE7 CuiVLYwxlyCVTjoftO3EJugs5QbPtaEIivF4Y+Kq3SiO5Q1MxCpKXOyFBJgYUSUAbBUp O8bQ== X-Gm-Message-State: AOJu0YwGeLmazVSfy7oqy1ZW0iwf1mdNMte5ovaHneJ9iMduCVuFxs6s 8zTtoHxBfb1VHzYw/aXe0mS1Q1UO6B2G6QvlrIOk2O6KpVO036FygvwVnqrJlJzDs4BoQXt2vvR qI+uJBWY= X-Gm-Gg: ASbGncs5jAB5SSWI6ITSxS6SVf2K1iyCAiMNtGTp16NtCVnshKSRjJyDJ/Zdo9QefEx vm3pGAwXIACRsgnGKx5FUBZBdIIliY+vuQ/4PIr9qqZSYXK5zB867B5FsR8EPEgYAyJq11tIK6z R/dor5cphAorwU3woJ2RgevgMXsE6aJr0lJGlncTjgdtabOfFfMhfffgUQBUZRFGPhNmJJ9uvfs bWiN/Ca+FWq3gEyrYnzLAEAHa89qRPwWOnqGW8k8a3F6Qj4Yq8gVWbdqYYgklnl1/1ux1jyZ206 hlhYASKl4hYZS/sjW9SKFEo0DwUP+afWPmh4FAEnwPytblCLIeymsbvWOQJaCbzRghJBi72OT1m OzAtcwfqBhq6Hy9cZVtlL2a8z5LeDNTdIDIgyiY4BRjmYHnFmj9Gj X-Google-Smtp-Source: AGHT+IFB6HtqIOZj0AzUuqW2/j/WgOUS2B9X7s/hgiDOnqB77UAJad9k4gGv9KpkaonHJdlh9q+m9Q== X-Received: by 2002:a05:690c:7107:b0:71a:730:12b9 with SMTP id 00721157ae682-71b7ef60673mr61597507b3.13.1754185248268; Sat, 02 Aug 2025 18:40:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 05/11] target/arm: Implement CTZ, CNT, ABS Date: Sun, 3 Aug 2025 11:40:13 +1000 Message-ID: <20250803014019.416797-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::b2b; envelope-from=richard.henderson@linaro.org; helo=mail-yb1-xb2b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185402141124100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-a64.c | 31 +++++++++++++++++++++++++++++++ target/arm/tcg/a64.decode | 4 ++++ 2 files changed, 35 insertions(+) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 64a845d5fb..0c78d4bb79 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -8304,6 +8304,37 @@ static void gen_cls32(TCGv_i64 tcg_rd, TCGv_i64 tcg_= rn) TRANS(CLZ, gen_rr, a->rd, a->rn, a->sf ? gen_clz64 : gen_clz32) TRANS(CLS, gen_rr, a->rd, a->rn, a->sf ? tcg_gen_clrsb_i64 : gen_cls32) =20 +static void gen_ctz32(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn) +{ + TCGv_i32 t32 =3D tcg_temp_new_i32(); + + tcg_gen_extrl_i64_i32(t32, tcg_rn); + tcg_gen_ctzi_i32(t32, t32, 32); + tcg_gen_extu_i32_i64(tcg_rd, t32); +} + +static void gen_ctz64(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn) +{ + tcg_gen_ctzi_i64(tcg_rd, tcg_rn, 64); +} + +static void gen_cnt32(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn) +{ + gen_wrap2_i32(tcg_rn, tcg_rn, tcg_gen_ctpop_i32); +} + +static void gen_abs32(TCGv_i64 tcg_rd, TCGv_i64 tcg_rn) +{ + gen_wrap2_i32(tcg_rn, tcg_rn, tcg_gen_abs_i32); +} + +TRANS_FEAT(CTZ, aa64_cssc, gen_rr, a->rd, a->rn, + a->sf ? gen_ctz64 : gen_ctz32) +TRANS_FEAT(CNT, aa64_cssc, gen_rr, a->rd, a->rn, + a->sf ? tcg_gen_ctpop_i64 : gen_cnt32) +TRANS_FEAT(ABS, aa64_cssc, gen_rr, a->rd, a->rn, + a->sf ? tcg_gen_abs_i64 : gen_abs32) + static bool gen_pacaut(DisasContext *s, arg_pacaut *a, NeonGenTwo64OpEnvFn= fn) { TCGv_i64 tcg_rd, tcg_rn; diff --git a/target/arm/tcg/a64.decode b/target/arm/tcg/a64.decode index a886b3ba4c..766c610c01 100644 --- a/target/arm/tcg/a64.decode +++ b/target/arm/tcg/a64.decode @@ -726,6 +726,10 @@ REV64 1 10 11010110 00000 000011 ..... .....= @rr CLZ . 10 11010110 00000 000100 ..... ..... @rr_sf CLS . 10 11010110 00000 000101 ..... ..... @rr_sf =20 +CTZ . 10 11010110 00000 000110 ..... ..... @rr_sf +CNT . 10 11010110 00000 000111 ..... ..... @rr_sf +ABS . 10 11010110 00000 001000 ..... ..... @rr_sf + &pacaut rd rn z @pacaut . .. ........ ..... .. z:1 ... rn:5 rd:5 &pacaut =20 --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185358; cv=none; d=zohomail.com; s=zohoarc; b=ZHrXZZu55XsxSnqo/xx0J1w9mypK/+odgGVeGynQAfNsLRLnT64f/w//u0XBLNVcZE9yG65LS66TNr+f4sijXm5snibBUx1cDwcyzu5m70VG43f19giiq2vsWS/a4GgqRU5fnbIVNb+dPJoWxJFAvZ692eK7p/RG8O2AWaEiPN0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185358; h=Content-Transfer-Encoding:Cc:Cc: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; bh=LpTKcmqIXZhcFkcloKTAjB6pW68SlM02QmXcOabdBB8=; b=Q4WX4ESOm7Qa784pSsv9jm8gH9sJsIUwKUnguG5kJ8f8/qT1iXlCeb/M727zbTuZiqAjGoT3KqlKjxHxQimK0aa0FSGbNx4fq7I4vS1rd4j08nXSvoJSzN12be6FDj6qWnWelbhHe6Vp5MIv8vpaAlU8sYBjdm+c3bdKB/EBbbE= 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 175418535824930.723007110849267; Sat, 2 Aug 2025 18:42:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNij-0007KC-Bk; Sat, 02 Aug 2025 21:41:06 -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 1uiNib-0007Aj-AZ for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:57 -0400 Received: from mail-yw1-x112e.google.com ([2607:f8b0:4864:20::112e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNiX-0004dw-L6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:56 -0400 Received: by mail-yw1-x112e.google.com with SMTP id 00721157ae682-71b71a8d5f0so21128747b3.3 for ; Sat, 02 Aug 2025 18:40:52 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185252; x=1754790052; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LpTKcmqIXZhcFkcloKTAjB6pW68SlM02QmXcOabdBB8=; b=G0RpP7YYyu8OOETKXzmKFmI4pvu7/2HemMRRvXRW2M6f0sBE7ZE8r8XLUQIwN3MWoo K1Oie4+iJ7frdDQMcn4FLUJVCY5Sd6cfGs7SGqKHT2HzEVjO0Gld/T+0vYvMtSL93AGx tpW8RY8Ml7HT8qPNCnQ78Cy3DBvqSSLYstczvhUGhmI14uy+0VozyWI8v+pwe6hgC/ud KbgCZZOp15iBWJlaqXtGB3jzKU5mToUaplYofriZjquu6TkQgUajrd5RjEDsUzMcTDIX CmZ4cx15+zt5YVIuS25oh7knGxYcYXg5+egtquPUAA2WiWPFK92u7Wvb+Ds6/Ev37YJO 4/aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185252; x=1754790052; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LpTKcmqIXZhcFkcloKTAjB6pW68SlM02QmXcOabdBB8=; b=mMEBNdKgK9EGuXAvAA/kytF7eYHekfgSMeX3jAjcIc+xMjiMfHc6vWrlcsvniP8+Am zJTOt8LK97dtG65OyfapW66ciqSjcSe9jHVrwRfY0tCGer86gPxXv99ljjGuJpsE1SeP PonsXxOM8AD4zKvd5FCBtcJ1RxfwzIFeU9sZ+fni+b+j1FQHK4jFTS/fOk9BUjrbi+6z rmkYhV7uWWI2nBMtCReJio6VxYLxpJ70VMNuJLQ3PlJyLJr7LcH88t/67480QqQKGGiw ki0PPOyIQ+eTiN1GY/P9T/A9y18id2lG5bxWbcsxvRt1lKJ1dw9rzaSg6yPUVHM3wl33 Tglg== X-Gm-Message-State: AOJu0YzfivJF7Hx666UMB63klQR7ZMeBFwECkqA57L1tbW4lHX5QUk7+ LTAri2QF+CUu/BUuteII409vH8fnfy0F0R+7nB8yhW0jGpmrvyG6Ttv12qvNY0aZelc9I7UIwPb tAgpEarg= X-Gm-Gg: ASbGncvw2FvTHzQsr1iV3aRRyUopiAM9u9hdcwl+UbRp49Pc8Gvp82xbgBHccdfr+vq BqD5NRoMnm1YrUjlfG7iQhjD8rdOaYei7StkNUGxjiW0oizRLg5U5IItriSDOBynU9FFrVTnKLv 6JHfy4pHJqtTNx4ayuAx1PDze7a8UmgltbBnKjthJEhuRBNxefzH3Tiz1cbeSjBMWvnginLrwxD JM9Q5E0CMEg7FC5IuFRcVGZhKM7M+zV2wEUu5t7MfuUBG9jwgw1axiQpZQfgfPIpjNkV9THvdco QaedrZMicbWrUbuhXD7dJq3EfMcoBLwO6I2LRLsF+tLLQIcUed2h7Xbp+VEcrvc1B6+cedL3MMJ klUN70YznQyMntRI5aWsaCRUp44xzCTDqjD+TVFS6AN8q7yzNljfbhQoq288t3Fs= X-Google-Smtp-Source: AGHT+IF9pDAZHuKurz3a/hpzaoKN7pR3e0mPTMen0Oi9o+xLMoyQULuLIsO0DSoQOW7LFgluJuJ2hw== X-Received: by 2002:a05:690c:13:b0:71b:6628:ff1c with SMTP id 00721157ae682-71b7f569f43mr59372717b3.41.1754185252053; Sat, 02 Aug 2025 18:40:52 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 06/11] target/arm: Enable FEAT_CSSC for -cpu max Date: Sun, 3 Aug 2025 11:40:14 +1000 Message-ID: <20250803014019.416797-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::112e; envelope-from=richard.henderson@linaro.org; helo=mail-yw1-x112e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185359251116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 1 + target/arm/tcg/cpu64.c | 1 + docs/system/arm/emulation.rst | 1 + 3 files changed, 3 insertions(+) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ea214105ff..baa618d6c2 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -923,6 +923,7 @@ uint64_t get_elf_hwcap2(void) GET_FEATURE_ID(aa64_sme_b16b16, ARM_HWCAP2_A64_SME_B16B16); GET_FEATURE_ID(aa64_sme_f16f16, ARM_HWCAP2_A64_SME_F16F16); GET_FEATURE_ID(aa64_sve_b16b16, ARM_HWCAP2_A64_SVE_B16B16); + GET_FEATURE_ID(aa64_cssc, ARM_HWCAP2_A64_CSSC); =20 return hwcaps; } diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index 35cddbafa4..d4c021e34d 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1178,6 +1178,7 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64ISAR2, MOPS, 1); /* FEAT_MOPS */ t =3D FIELD_DP64(t, ID_AA64ISAR2, BC, 1); /* FEAT_HBC */ t =3D FIELD_DP64(t, ID_AA64ISAR2, WFXT, 2); /* FEAT_WFxT */ + t =3D FIELD_DP64(t, ID_AA64ISAR2, CSSC, 1); /* FEAT_CSSC */ SET_IDREG(isar, ID_AA64ISAR2, t); =20 t =3D GET_IDREG(isar, ID_AA64PFR0); diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index 890dc6fee2..b9b11e82b3 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -30,6 +30,7 @@ the following architecture extensions: - FEAT_CMOW (Control for cache maintenance permission) - FEAT_CRC32 (CRC32 instructions) - FEAT_Crypto (Cryptographic Extension) +- FEAT_CSSC (Common Short Sequence Compression instructions) - FEAT_CSV2 (Cache speculation variant 2) - FEAT_CSV2_1p1 (Cache speculation variant 2, version 1.1) - FEAT_CSV2_1p2 (Cache speculation variant 2, version 1.2) --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185356; cv=none; d=zohomail.com; s=zohoarc; b=ZnKA9ZtICvAbblqlUtRp9VWOy7gFTX+G7hRYwXyPG3uJqsUv3M/wTc+aXO+7i+GvBr8TzzC79z/ZoMO037paPPx5ruV7HD9BBQX/mcnb1TFX5hvtBJMHSrAfVXrbWKbYF9UBKA+To6FIOL+UNb4O1rm6ej3FoYDg+6TX0a56TKg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185356; h=Content-Transfer-Encoding:Cc:Cc: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; bh=u2hpklU5tW/phoAllBqiTzLMcPLur7eE9PCzi++QuJw=; b=a/s/Bmy/UOGNRtd5UPqvSuWqodLM0+H7OpBjFqOaIyS7qRnG0AQVov/M5LoCH+8ArDHpiUb0+BjV1GlzRLKtmeeBTmTqe6kugjsTrcU35jj2tmYJvbpH2cSDEfXzrZmgdSA71A6qlkp1VdSMiHEu2lK65GIvrRMZaczqmw2E6So= 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 1754185356591603.0882430038268; Sat, 2 Aug 2025 18:42:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNij-0007IN-1c; Sat, 02 Aug 2025 21:41:05 -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 1uiNid-0007EN-Ts for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:59 -0400 Received: from mail-yw1-x112d.google.com ([2607:f8b0:4864:20::112d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNic-0004ep-Ib for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:40:59 -0400 Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-7170344c100so19038817b3.0 for ; Sat, 02 Aug 2025 18:40:58 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185257; x=1754790057; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u2hpklU5tW/phoAllBqiTzLMcPLur7eE9PCzi++QuJw=; b=gzak6Knywdbg4T1yL8tGvC2GW5LKbZRahOJlu+UW91pFjd5PJuYnDfM/s6CTUihuYU sbDZAuXSNhYXwTIdB4ATfbM5RjFMLLLck/ozlDn8eghbNSvMwX8w2pPaXI0DG9hG4LXh O87/xVAdVEJYECKj8EF7poqeuq2CrHEF9c/hPSY6/WfHlRtJRSQOk9bWpxe71PQwg7/z NPUl8zf48bWNhzAzp9dplef7oXwlNgEkUh80uyhRNG1/V9ztsFZ8yGFxjI1qzmyT3HaM aV/5wgXA3XX0LFMem45jfDJanscEfXVOMasNk87+zVtMlJDNjER3SmGYrPx8R75RRMvG Wvhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185257; x=1754790057; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u2hpklU5tW/phoAllBqiTzLMcPLur7eE9PCzi++QuJw=; b=KrqyPxtnmKJfTfvEd/DWgz9utGvco6pOztqFkMJ9IhV+aO2IWrlnARzi9CkY/BXarr 9KCai4rbDwug9GEdeDFEHgsqD5t2yD/Dq7rPf2uRevfTmMYWpSuuds24K6AYadNBZ3Bi pvKo2G+YW0RqXezQiSB8wBcW1xlfPkoho4UxUU1vn+mlNqPTO2Y3Wi9lskE7l7qHQj2g vs1eYwBUJAHOhcwcpVr0DW5hkLA5OgGiUTa+T+0YxE4EjzIE7HyQ9MNbGlCjVNCOtdit 1bZW5IFzr+orhhMYKiI44QEVbnqwIJszyQu4W7AWS6GF1wVieDuzD5xI7+TxPq3Rc/u+ UZAQ== X-Gm-Message-State: AOJu0YztLNXOaqo07j6x8eVg+T3FLTj14t9kfAEjWk39Bb5BIlFnneSd 8tCzXrGSe1N/Dj2hsxihtemj/U3RK921sXB1f68Uo+YAds3OHnBALzHuvW9yAu61GNCMf2CaJZG PG8x1gg4= X-Gm-Gg: ASbGnctN8YrDz0tG0NFyl4NUaz3lThzm8b3yJXSsZrwUl+7pTiPBhtNEogjvWo1AKUo qNQxoZ1PJXb6TPNieIyIt/yyUbAchVp3f1nH9f7nljC0V6t5zHKohWQzG13omu8tRzW+IlqrCLd DXBgZjaSQVsjhgnwblmV0w52hP3wMDvHJwe8El9fLebtOqEL40k00AJxyBCW6aasAPTczBX8oI5 etl9r6Pqg6F2Htxi2Vh4hVCRUtKIgNXFXDg4pchzlhpp7/mCCvAxG3aeRLYQWauzt/wiEH5966n 1WJQ0xejssB8Y9dOWKT83BZzdgMAgSRUgdrUq9WG0lFvV/VQo9zBIQsrx5qxFzqjPJU6jVP9wx7 N77xReB6d8mjLxH7Xs2mIKsvpvPtscjzK/o61tr1+RjMAXvpzsnRU X-Google-Smtp-Source: AGHT+IEJbzn7EGFWYapr3XdJmlLJQUUzbaqk31iERqxt71/eY3qCnRBmk6YK7fYnflCRq8m4MJzbLg== X-Received: by 2002:a05:690c:f8b:b0:710:f1da:1b5f with SMTP id 00721157ae682-71b7f0a34a3mr66702407b3.34.1754185257501; Sat, 02 Aug 2025 18:40:57 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 07/11] target/arm: Add feature predicate for FEAT_CMPBR Date: Sun, 3 Aug 2025 11:40:15 +1000 Message-ID: <20250803014019.416797-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::112d; envelope-from=richard.henderson@linaro.org; helo=mail-yw1-x112d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185357624116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/cpu-features.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index f12c5c8be7..744199b776 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -609,6 +609,11 @@ static inline bool isar_feature_aa64_cssc(const ARMISA= Registers *id) return FIELD_EX64_IDREG(id, ID_AA64ISAR2, CSSC) !=3D 0; } =20 +static inline bool isar_feature_aa64_cmpbr(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64ISAR2, CSSC) >=3D 2; +} + static inline bool isar_feature_aa64_lut(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64ISAR2, LUT); --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185352; cv=none; d=zohomail.com; s=zohoarc; b=Za030PTgbLbDAuHv6ibHA1iw12VXk3uk88myG8Ep5bI3yRgdQIZnLQmzQlq0/WIuxhM0D3ukLfTkfBWJqyFk3VllHpODUYxVSWJITrS7iPoQlnOGbcIBG2Owm3JukVTXxBoDZcRp8cCS3ra2R3C9rzBPL75WFCI/rIzvDKdWls8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185352; h=Content-Transfer-Encoding:Cc:Cc: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; bh=wMxc6fiRC/TSWaDb+UxvoNbCW0f32j2TXZfWROF6WOU=; b=ZoNH8t8a5UjUDs1nSPS7IG+jgmPqBDTlL5qXRC59l0pE0CWCDK6mxKqSRc1LiwkDRK2k6CHyb7AJP7O74/eswap7t0t+0saWv15FthrMnk5Eydm2QrWtTfEYaBVa096GemoaUBPT4oZLjD9BUa+mv16rMZEXP5/Yugs9p9W7xeU= 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 1754185351990983.8151916876348; Sat, 2 Aug 2025 18:42:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNiq-0007PY-HO; Sat, 02 Aug 2025 21:41:12 -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 1uiNii-0007Hj-C3 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:04 -0400 Received: from mail-yb1-xb2a.google.com ([2607:f8b0:4864:20::b2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNig-0004fK-Qp for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:04 -0400 Received: by mail-yb1-xb2a.google.com with SMTP id 3f1490d57ef6-e8da9b7386dso3594932276.1 for ; Sat, 02 Aug 2025 18:41:02 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.40.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:41:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185261; x=1754790061; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wMxc6fiRC/TSWaDb+UxvoNbCW0f32j2TXZfWROF6WOU=; b=wQcNqSPt3un/SFnjVAa31fQz96RT7o9DQae9fSat3t0t/AzLXIveQo+G+ZYcObwXio TzNFPYVZSvzrZ0+CAR520JWOP+gVTfbFRTVbndBFXFb5/gfuHu0/oeseknsKBEZx0XZI vrnY2wRxCyEdWo5qkkjEhFfo86cThDcEzJMdWh+jBnlfDE8pxCMOEh51rqyBU4cnr5fr 7ugYPD/fNNTEfO3AgHkd33H75CdBtqTyEQq883ijYNvX5fGeg4v0O/orvtT/j2WXxOuS SjKzam2NZbErqz41zLUKW1Z0cvl1AC2I1xkPyQeGsjR5EIKPAk60qMksry64/x/IKAtO fkVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185261; x=1754790061; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wMxc6fiRC/TSWaDb+UxvoNbCW0f32j2TXZfWROF6WOU=; b=O9kj2a21bC1ZenrV83a8YPknlymNJeC2A/LMuQDN/R6/XC1vAo3A/1yk5ou3Q8k9SF ZMrvAxWOUFhxkKOsWCxifJ+yzpLkDArgEOLclkMwSfHN0Pjnl1y8WAKyyhYr8U9VVjde nEsDnbBCJm/S3S4/pStDCpbQ033qJmGMmK+FKsangBlQMeMzFC3r+W8fUdTjLzbhmBju KgmYjMPML37wWYzuW2sm84CTd9z0+Z57EEUF9fQaoK1K8IpjjzH/F667hMqlE2cPkKB6 lMkfd1+X3T67Uvkrqa6mi3ELkxdqQKSGOqnvPAxGhnodHNora808GmaODt+c6pPn/wHn 2puw== X-Gm-Message-State: AOJu0Yz5QvyYCiZM10wMWvwK1KXDovxw2z/z2ZQdSz402Ay/xNIO1+C9 Exo/OLHFFwSZ/Zx5i2SlJKLqDYDg5XmBtjiC9cbdtSnBmlZ2RQI06Uft3zPtm+UaNDjx0SbIbi4 qwnUj1YM= X-Gm-Gg: ASbGnctqTywEs4ZAjh/e7/5fmip8W12UI2bA8YzXx9eZ6KpUpNMkjqyo75rwpuoUllj 9aTk0PgHS4vz1l7n6GoEW/cBnRqvkAH1vSUPZvzM+eiS9V84RgRySkoO2K0kM+rXZuzeDsfyIk9 h1T+ilxztBs6EoKm9iAx2/aPR4ECswTMDSbZNQuc2NfsRFr1ykiS0GXcocLt0rq69CZMHD3h653 +6YxDprY6MD9xW72iazoG0J56xZssEuypU5W3gzjCCtMvDB6JR43B8L661PFvoH9L+wM7UtSQNN 0JdfFdlTh/aM2OQC8JuBBUvu+wcu/PdyAPSS6flx+uPj5zT5Vr4QZvC5FdI6t0234RuK1BGBWJp MXKAhJ5qxmqua0dz0uYfxcwG6YJkPDVObHuN2Rq3E4RB4DoWVN7SPr+eaVX8K0gc= X-Google-Smtp-Source: AGHT+IE7LTXFZXxRSjSbqziM+GlJjcZbOlYWM91f63DAI3WlHcfiFrh6LoDq8hABhe/qIFUDdsLsXg== X-Received: by 2002:a25:7e07:0:b0:e8e:1983:668a with SMTP id 3f1490d57ef6-e8fd5308f2dmr10188122276.1.1754185261473; Sat, 02 Aug 2025 18:41:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 08/11] target/arm: Implement CB, CBB, CBH Date: Sun, 3 Aug 2025 11:40:16 +1000 Message-ID: <20250803014019.416797-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::b2a; envelope-from=richard.henderson@linaro.org; helo=mail-yb1-xb2a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185353695124100 Content-Type: text/plain; charset="utf-8" Compare and branch instructions, with various operand widths. Signed-off-by: Richard Henderson --- target/arm/tcg/translate-a64.c | 60 ++++++++++++++++++++++++++++++++++ target/arm/tcg/a64.decode | 5 +++ 2 files changed, 65 insertions(+) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 0c78d4bb79..f3970ac599 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -1706,6 +1706,66 @@ static bool trans_B_cond(DisasContext *s, arg_B_cond= *a) return true; } =20 +static bool do_cb_cond(DisasContext *s, int cc, int imm, + int rt, int rm, MemOp mop) +{ + static const TCGCond cb_cond[8] =3D { + [0] =3D TCG_COND_GT, + [1] =3D TCG_COND_GE, + [2] =3D TCG_COND_GTU, + [3] =3D TCG_COND_GEU, + [4] =3D TCG_COND_NEVER, /* reserved */ + [5] =3D TCG_COND_NEVER, /* reserved */ + [6] =3D TCG_COND_EQ, + [7] =3D TCG_COND_NE, + }; + TCGCond cond =3D cb_cond[cc]; + TCGv_i64 t, m; + + if (!dc_isar_feature(aa64_cmpbr, s) || cond =3D=3D TCG_COND_NEVER) { + return false; + } + + t =3D cpu_reg(s, rt); + m =3D cpu_reg(s, rm); + if (mop !=3D MO_64) { + TCGv_i64 tt =3D tcg_temp_new_i64(); + TCGv_i64 tm =3D tcg_temp_new_i64(); + + if (is_signed_cond(cond)) { + mop |=3D MO_SIGN; + } + tcg_gen_ext_i64(tt, t, mop); + tcg_gen_ext_i64(tm, m, mop); + t =3D tt; + m =3D tm; + } + + reset_btype(s); + DisasLabel match =3D gen_disas_label(s); + + tcg_gen_brcond_i64(cond, t, m, match.label); + gen_goto_tb(s, 0, 4); + set_disas_label(s, match); + gen_goto_tb(s, 1, imm); + return true; +} + +static bool trans_CB_cond(DisasContext *s, arg_CB_cond *a) +{ + return do_cb_cond(s, a->cc, a->imm, a->rt, a->rm, a->sf ? 64 : 32); +} + +static bool trans_CBB_cond(DisasContext *s, arg_CBB_cond *a) +{ + return do_cb_cond(s, a->cc, a->imm, a->rt, a->rm, 8); +} + +static bool trans_CBH_cond(DisasContext *s, arg_CBH_cond *a) +{ + return do_cb_cond(s, a->cc, a->imm, 16, a->rt, a->rm); +} + static void set_btype_for_br(DisasContext *s, int rn) { if (dc_isar_feature(aa64_bti, s)) { diff --git a/target/arm/tcg/a64.decode b/target/arm/tcg/a64.decode index 766c610c01..fa94631123 100644 --- a/target/arm/tcg/a64.decode +++ b/target/arm/tcg/a64.decode @@ -208,6 +208,11 @@ TBZ . 011011 nz:1 ..... .............. rt:= 5 &tbz imm=3D%imm14 bitpos=3D # B.cond and BC.cond B_cond 0101010 0 ................... c:1 cond:4 imm=3D%imm19 =20 +%imm9 5:s9 !function=3Dtimes_4 +CB_cond sf:1 1110100 cc:3 rm:5 00 ......... rt:5 imm=3D%imm9 +CBB_cond 0 1110100 cc:3 rm:5 10 ......... rt:5 imm=3D%imm9 +CBH_cond 0 1110100 cc:3 rm:5 11 ......... rt:5 imm=3D%imm9 + BR 1101011 0000 11111 000000 rn:5 00000 &r BLR 1101011 0001 11111 000000 rn:5 00000 &r RET 1101011 0010 11111 000000 rn:5 00000 &r --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185457; cv=none; d=zohomail.com; s=zohoarc; b=PIdUp+tny9R1yBwX2IG9mvg2g0MT8lMWe2IVFSDbKgEOepdQAVcpqfBYrSuwAnLmxOa2+09M4IW+MmaNaprPHRfp0xa4eSV3dHV1jo3Y2zA7puLt3OEVLd4xq0V7Nb5xlqU/vNKIQixWE0mkasMRrR5FW3oE96sIkJT4ZYxbNLw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185457; h=Content-Transfer-Encoding:Cc:Cc: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; bh=bVijz1T025lZJ/0hSUgdbY6zZhdSlCvkQ88R5dahVgQ=; b=m6FWRY7+4vIYT4FqVTuZNp5KY6/0vGEq7rzme1RT26RSWlZDaR/unRaLiPUsI8p4PCiSTeufNUEEE2fa/GdG5biBV5WTFjKJJFS1sdmZ7qmJXpRRAJssB6z4SpTeOsEBlSgKvnmTKrDGY6RYE9teMKsqePmi2d9fPctJv1UnmdI= 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 175418545715987.57764947926273; Sat, 2 Aug 2025 18:44:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNis-0007Sl-66; Sat, 02 Aug 2025 21:41:14 -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 1uiNim-0007MP-Ag for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:08 -0400 Received: from mail-yw1-x112e.google.com ([2607:f8b0:4864:20::112e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNik-0004g6-Sf for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:08 -0400 Received: by mail-yw1-x112e.google.com with SMTP id 00721157ae682-71b5381f21aso26909357b3.1 for ; Sat, 02 Aug 2025 18:41:06 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.41.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:41:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185266; x=1754790066; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bVijz1T025lZJ/0hSUgdbY6zZhdSlCvkQ88R5dahVgQ=; b=iN4zf7bkrJW/UTac4RH0Mb6v2sk4g4YEo+ttCfP+kX2sGl7Pt42Zypiiofjx0Cvgla ZfPCcLKjJId7DWHjqK0NPaeCt21UEmV1KFAEqCTYWf0T+gDYz3vu+kE4Id+lx0lGHrJO kHyji1lzaYfqxChHgf/vKSeewi5MdbvKocNkUcoU8W/4Z1XMbWNN+SqiWywgskhLBmuz B2En9yRWHogMii0Ry/e19rmzqrnLwsheHotDnfT1vzWp6UEvlgylpBSwFv029mdUY6Ad BSSkWdgHB8aJTaxwj7B4ouPywYzPrAfjaxOLQYvFr8NOxccOnl3xoSkzk42P41FE888A WnRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185266; x=1754790066; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bVijz1T025lZJ/0hSUgdbY6zZhdSlCvkQ88R5dahVgQ=; b=GqF6zARMoQQOahwz1fQieFCKudfERvR8qYVIahZMhRpMZ5F/WMVyFiEp9FVOEUqqcL fHwfS8WG7XRjMri+eC7wAJFhjsQQTRoPt6y53nMb2fFWMUoRPdBVI0Qb5L+8Vegn7QI2 9kFgAeTG4mJ2v9jop0k0IgJxiru4ltfgfu/2M92KPeRElpqABv2IsphZE7HJ3c4SWFhi 9P0RU5y3lIPBlul3u1nNCtYGPFS3ZcjYo5DRtZXKLNnhGCb/R5DK7EQSx4diNdP526gm XU3WA+HtZmJyJxvWT0cAkeMZMSz1nJ/VEdPt86Ydvzt1kBRx4OMMRXTeYnzfTxyi2A8K 1EWQ== X-Gm-Message-State: AOJu0YzFbI3sxXApjG676SqMdeLQu3NrMcgQ6Yel8p997IMKqiTEGSB1 ONiUkGMRNrYU4Bu7tsUtmrbAJQE67jPOHOFHVoMzgbcQEeKBa7oPNRNaW3j1rCO3bRbcCXiGlzP wsVqntp0= X-Gm-Gg: ASbGnct5c0eLef0pXI4GgqXmc/788gJVbFdotnGodT41AHnnt8obmP3JeEMj6ADaRzZ UltsuwBBe2apGfbB70aT14lIdJrOwlTurXi33D+eJLp96D4+Sp54Tun5o6u4LCJM/knpHjNaak+ sCI5wpEmQH/pMD5FNY/lsUTdG4BS2m0G4FJ4q11cQliECSCeH3c7CqQ5YtKUIlMd2Ex16TWfO4r SQMPlW9PPGw+j6jYR5zREN/RSbIgeWHlQzHQJO0OBAzSv6+FS7sEEloOu6CrpaO5GLrRkcdTIqz K07T2/FMwVrzRn0AyUchG2lRgclM0fI2r9Atyi1/DNAEsOQn2ZMeBrTc1YR/Rx0kr3Wdf9xR8Nd baW6GMje4ZNxGOyoECU2SMofkQQZw3Hht+FuBiqyQtRLR3RpEgagfA1snFarw1Sg= X-Google-Smtp-Source: AGHT+IHYOxrli1+B327BispI/154hb0g20GLFZl4GQAb2zXK0zlHyZMfErHuA7xH34NfC39v+ErcLA== X-Received: by 2002:a05:690c:d8c:b0:71a:27d2:2bdd with SMTP id 00721157ae682-71b7f62d7famr69968637b3.13.1754185265918; Sat, 02 Aug 2025 18:41:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 09/11] target/arm: Implement CB (immediate) Date: Sun, 3 Aug 2025 11:40:17 +1000 Message-ID: <20250803014019.416797-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::112e; envelope-from=richard.henderson@linaro.org; helo=mail-yw1-x112e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185458775124100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/tcg/translate-a64.c | 41 ++++++++++++++++++++++++++++++++++ target/arm/tcg/a64.decode | 2 ++ 2 files changed, 43 insertions(+) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index f3970ac599..c47d4d0a0b 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -1766,6 +1766,47 @@ static bool trans_CBH_cond(DisasContext *s, arg_CBH_= cond *a) return do_cb_cond(s, a->cc, a->imm, 16, a->rt, a->rm); } =20 +static bool trans_CB_cond_imm(DisasContext *s, arg_CB_cond_imm *a) +{ + static const TCGCond cb_cond[8] =3D { + [0] =3D TCG_COND_GT, + [1] =3D TCG_COND_LT, + [2] =3D TCG_COND_GTU, + [3] =3D TCG_COND_LTU, + [4] =3D TCG_COND_NEVER, /* reserved */ + [5] =3D TCG_COND_NEVER, /* reserved */ + [6] =3D TCG_COND_EQ, + [7] =3D TCG_COND_NE, + }; + TCGCond cond =3D cb_cond[a->cc]; + TCGv_i64 t; + + if (!dc_isar_feature(aa64_cmpbr, s) || cond =3D=3D TCG_COND_NEVER) { + return false; + } + + t =3D cpu_reg(s, a->rt); + if (!a->sf) { + TCGv_i64 tt =3D tcg_temp_new_i64(); + + if (is_signed_cond(cond)) { + tcg_gen_ext32s_i64(tt, t); + } else { + tcg_gen_ext32u_i64(tt, t); + } + t =3D tt; + } + + reset_btype(s); + DisasLabel match =3D gen_disas_label(s); + + tcg_gen_brcondi_i64(cond, t, a->imm6, match.label); + gen_goto_tb(s, 0, 4); + set_disas_label(s, match); + gen_goto_tb(s, 1, a->imm9); + return true; +} + static void set_btype_for_br(DisasContext *s, int rn) { if (dc_isar_feature(aa64_bti, s)) { diff --git a/target/arm/tcg/a64.decode b/target/arm/tcg/a64.decode index fa94631123..02e0aa1fe4 100644 --- a/target/arm/tcg/a64.decode +++ b/target/arm/tcg/a64.decode @@ -213,6 +213,8 @@ CB_cond sf:1 1110100 cc:3 rm:5 00 ......... rt:= 5 imm=3D%imm9 CBB_cond 0 1110100 cc:3 rm:5 10 ......... rt:5 imm=3D%imm9 CBH_cond 0 1110100 cc:3 rm:5 11 ......... rt:5 imm=3D%imm9 =20 +CB_cond_imm sf:1 1110101 cc:3 imm6:6 0 ......... rt:5 %imm9 + BR 1101011 0000 11111 000000 rn:5 00000 &r BLR 1101011 0001 11111 000000 rn:5 00000 &r RET 1101011 0010 11111 000000 rn:5 00000 &r --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185427; cv=none; d=zohomail.com; s=zohoarc; b=aLFDWfLqqfIO98UsgshWSHQPkQUUcy38glSXJGzCVlf1XMSjdqqpyGdqtH5MCwBlVNRm333n3m5Av33Uk3totCLTrZk8hjmgKrtSVMltboeYQzMQYzx6N2Gqq3jxV05EPRpj+mfTjV07oEOVetp0KfmVkcgoPK1UhfsnmbT9nwE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185427; h=Content-Transfer-Encoding:Cc:Cc: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; bh=tUId5F6z2x4/S6lLBlgo51rNHngTmeRrnS/Doi1yk0A=; b=F2plipTf9OIdLjucWmihho8DU8JxKCT0D6tlOChfJoKzV9p5IcFBanlzZ8QXnj25vwg2sfIGOqKmoQUaZtamymJSnRdC5V7M1LmOPxa4c/5r88QE77vXE/3Qk920kCPczPKVhPOiaVUTC793nhxR3ADRpFm+KKvFIWxNgwAAtIU= 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 1754185427950500.65292092261745; Sat, 2 Aug 2025 18:43:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNit-0007U4-PF; Sat, 02 Aug 2025 21:41:15 -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 1uiNiq-0007Qr-RG for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:13 -0400 Received: from mail-yw1-x1134.google.com ([2607:f8b0:4864:20::1134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNip-0004gm-C7 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:12 -0400 Received: by mail-yw1-x1134.google.com with SMTP id 00721157ae682-71b691a40a8so21544687b3.2 for ; Sat, 02 Aug 2025 18:41:10 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.41.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:41:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185270; x=1754790070; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tUId5F6z2x4/S6lLBlgo51rNHngTmeRrnS/Doi1yk0A=; b=sdnJQf6CZWwbbjELZeotEPvL4YA0/uzbjAo+Rdy6o9pUKHTGL3aM9CehfGSPqWiD21 dpCQKhofeEIGXbdiFmJzYnv+HVi63p35bnELB00tF5OB3u5eLN7E7oPtzCRpxg6ovM62 PyKyohAgPWlj6oJzd3vadvaMgg0Era1BVDmzusT6HOD716kQ3fZ/QkwMdf+i7+yjrATc Fe3cDNXeyr5rvIfcsXTmPjvfqLegzEl3Lq1zk+1r0PP0d6xASUeQAFdZBfIeMKI2mVsB jVpRtg718XV/Zs7afxndAzzBJ39w5uga5BBDbUkLXiQnedvBOKXubnPkidV+w2zIZu9m FSZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185270; x=1754790070; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tUId5F6z2x4/S6lLBlgo51rNHngTmeRrnS/Doi1yk0A=; b=nXaWY8ATgWgePIhQB6j9HxWWxWI5anZ8vTCLnXmBXW/bOSTSAIkfP+Sph8XuJjhJiH KRUH6kQZqD0GuVDkTVqh3Ecft0mfCLdQX+6xteWZeJldWCOU5ilTIvk49kHDr5NPKFBu ru20r5lVp9mVu0Qyn60GReraOxZb7A8124KfzH0UNmccy6M/rhmxQ4Ec95aQ9IIy8vGm lLv43VJm0rzMSC+xk5dyz3vCpbSlBxq4hjk2+9izPpftYewZ5cjodCa/RvbNPUqdkU8y Ql2huSVzM8vZU9LBNWj7dabpHs2TtJbvWcOmdBH8k6fsodFWH0dfRa0Er5JZ4E7EBVeN gpTQ== X-Gm-Message-State: AOJu0YxNMsEHlHELX2dR4tMqjVrLxchZ/1UcWNhPLw4ajJh940Ry6kEl E97sRGX3leW8M1/RKZUOfOZ2VNDWIRHhpD2Z/u6iP5PTCgcsgiO1gYD92E5+Jj7Pu4fi7ugg+XB diAZny5E= X-Gm-Gg: ASbGncteZojhpPhnE+tyAG3jqdjsuiNb6jY3PolXxyoDfFgPNupj5UukHPAMs1Odgbd S+edUuBBu+ckV+9tcmKqiV53dEqefrT12WcsIxjQLr+23Ay1YUsuqO8ZCx4kF8G1RIlMGT1bx48 vOzyLz+CIyxbtj/Kt1umcYjhAJVc2SraAnKjhTM+WGQ+y3raDSPa77xHB3pqMfyCeY6vqnRdukz +qdD45oYCHk0w1lc5Z2lex0wspvfvc3C903litsXoFJyboqzDHiTqa4zeR9k7Yyh7qkz6vQLTkJ /EhZblEWR1M25fhdRphkCmNaLunoYyK2ZAb+Js/vozNHD+Z4QkSSgsW2Nx1ZkUNEYuuOA/ASVGI J1U838vLxs7A+R89UErmTKN9C6+akCorsqUcp8nSk3Le5k/oidUPKOP0/SNUK+Og= X-Google-Smtp-Source: AGHT+IHc5sazqexzGqAAVCEhhqq1068iphfmrDRigV+yvwhxVwmBYnu5Lbn6yAHDG6dEwpoMOuzkBw== X-Received: by 2002:a05:690c:3382:b0:719:edff:65a3 with SMTP id 00721157ae682-71b7ef6d3efmr63890327b3.29.1754185270289; Sat, 02 Aug 2025 18:41:10 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 10/11] linux-user: Change exported get_elf_hwcap to abi_ulong Date: Sun, 3 Aug 2025 11:40:18 +1000 Message-ID: <20250803014019.416797-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::1134; envelope-from=richard.henderson@linaro.org; helo=mail-yw1-x1134.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185430425124100 Content-Type: text/plain; charset="utf-8" AArch64 is about to add the first 64-bit hwcap bit, so we have to expand the return type. Since the only user assigns this to a abi_ulong, match that type. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 2 +- linux-user/elfload.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index e102e6f410..e1badd4393 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -99,7 +99,7 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, extern unsigned long guest_stack_size; =20 #if defined(TARGET_S390X) || defined(TARGET_AARCH64) || defined(TARGET_ARM) -uint32_t get_elf_hwcap(void); +abi_ulong get_elf_hwcap(void); const char *elf_hwcap_str(uint32_t bit); #endif #if defined(TARGET_AARCH64) || defined(TARGET_ARM) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index baa618d6c2..4ab6bcd50d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -511,10 +511,10 @@ static bool init_guest_commpage(void) #define ELF_HWCAP get_elf_hwcap() #define ELF_HWCAP2 get_elf_hwcap2() =20 -uint32_t get_elf_hwcap(void) +abi_ulong get_elf_hwcap(void) { ARMCPU *cpu =3D ARM_CPU(thread_cpu); - uint32_t hwcaps =3D 0; + abi_ulong hwcaps =3D 0; =20 hwcaps |=3D ARM_HWCAP_ARM_SWP; hwcaps |=3D ARM_HWCAP_ARM_HALF; @@ -841,10 +841,10 @@ enum { #define GET_FEATURE_ID(feat, hwcap) \ do { if (cpu_isar_feature(feat, cpu)) { hwcaps |=3D hwcap; } } while (= 0) =20 -uint32_t get_elf_hwcap(void) +abi_ulong get_elf_hwcap(void) { ARMCPU *cpu =3D ARM_CPU(thread_cpu); - uint32_t hwcaps =3D 0; + abi_ulong hwcaps =3D 0; =20 hwcaps |=3D ARM_HWCAP_A64_FP; hwcaps |=3D ARM_HWCAP_A64_ASIMD; @@ -1825,7 +1825,7 @@ static inline void init_thread(struct target_pt_regs = *regs, #define GET_FEATURE(_feat, _hwcap) \ do { if (s390_has_feat(_feat)) { hwcap |=3D _hwcap; } } while (0) =20 -uint32_t get_elf_hwcap(void) +abi_ulong get_elf_hwcap(void) { /* * Let's assume we always have esan3 and zarch. --=20 2.43.0 From nobody Sat Nov 15 07:41:38 2025 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=1754185493; cv=none; d=zohomail.com; s=zohoarc; b=OI0ozjdp34krDEIMP5gUfLcRdtugO/YRyrkvQl2IlJn1CEFElJyDR0BPTn4fqj2H7r2X2Amz1zgH9L2YrJVnjz+ek0honWxTV21CjyRmzW5sxv8LtHDizNxTSK5Yi8SrCmE5OhxFbU5frFZEPw+n2P9QgP3qr+aW2kra+cRsIC4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754185493; h=Content-Transfer-Encoding:Cc:Cc: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; bh=HTiGzwvpwsNU7dZm0XrLbdqelbE5ohm8IHv8pUf2Q7s=; b=EQOGJJkfqCqxL6fLv4Y2BEXuxR3oUztoDL66G584+HU2JJ1UX2qXEFel0C6vukhBY4VxVGa0ZKOpXPLZZL4oQXkmv5bkidZ1oCujHWfAeJJB1XQHYkhE+CeYpI20HCLY+N8Q7Eu6vURgg5uBKMEllVRNuHsH416P4Nv14Rr1hSI= 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 1754185493678591.1490551552846; Sat, 2 Aug 2025 18:44:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiNix-0007cv-C3; Sat, 02 Aug 2025 21:41:19 -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 1uiNiv-0007Xs-Dl for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:17 -0400 Received: from mail-yb1-xb34.google.com ([2607:f8b0:4864:20::b34]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiNit-0004hN-SV for qemu-devel@nongnu.org; Sat, 02 Aug 2025 21:41:17 -0400 Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-e740a09eae0so3116286276.1 for ; Sat, 02 Aug 2025 18:41:15 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71b5a6031a1sm18753227b3.86.2025.08.02.18.41.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 18:41:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754185274; x=1754790074; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HTiGzwvpwsNU7dZm0XrLbdqelbE5ohm8IHv8pUf2Q7s=; b=tbbmOi42DMWZ4F0Fg8fct8GYCTzwfAp5nArc0NDjuzmWLf8DLoP4dVXB4alM0ETgMK whfKPrTKobZqgFIRuMjrQl4AtmoUYRKhgI6ifabO8BNUgPVkHwhq9oD3xZzlwTpOsGmo Rx9deyqgXnIl1VpuDPASF+WxcvHunKdZ4Ydwb0QbJ3bp9OYgv3cnPQuH03gLkyvP66Hj V+sa79Xp+xJFXXTGdwoUKShDUMJgcd7Krttd8Y4RuuPfMvtvRB5qqHMS20VW2RdWhdzI pyHhy3rWa8r7X1yDrNqup2qn5hl7G9pko6W/mv+nLEkB9YCgccxYVCaoxfB/N02Q6gf3 +X1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754185274; x=1754790074; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HTiGzwvpwsNU7dZm0XrLbdqelbE5ohm8IHv8pUf2Q7s=; b=S4MMlt7/CTskm9arPKTs21KMrQBjibBbO4g5VzpkI2pkr6EN3IK/z7yeVvDF0vgOvr K2q+C0iyZFG6iOV6jknPdf6OHCslxRKP0FjVM/KgW26/oQ1lYCbjDniwdjItfzwCTqXn sdB6Vzu46KPHetezx/7bgXei2B/rraPfT/DKj1r6BYqaIqVJ6ct4kY1wu4DmxKBCychd h164BxCfSNEGW144uHgCy5fLLSs+MmMXSP9oPoR23nJbVQLdwl3Kt0y6ndCxL3fjU/Ue 4r/rZUt7wWfwm9qnbLHWU1quxJoJUiZpwqah8sYgfsG3HWhea52xzstomUqZQAPgRhhe kJug== X-Gm-Message-State: AOJu0YyUpzjGj34hRHJPKmSrRxTEnT8lOLLN6ONXFi7mM2CLrGD09wKq BbbH8oVZCMOcTdNcgHf5MbDpw5uyikFfZgFtudez2MwruHu0gVOlp+kJR3QAat30huW59kMYpTa 9qNqcumc= X-Gm-Gg: ASbGncvD1x0wVJmEL6HYzAw1klw/pykfxauiWLfQX0vgQBzk8RQIBqD1t8HWn2Rd83r v6EfiQutz9nqcmGrcFsZpptVB3DvhUuH2PmPgoz2/+DXAC4LXp29PVzdFXzfRSwZt3gJlp4QZgY n3QHotey7AHGkwuKP/e2CXFea37qU99ZbI9uqiYvfGhbq5uauvPf2/QAqEnHIEe3UdKEV046lJl 0lVsJ5kTP+nAzmDC1JZU9TyuqzfwRYvLZXJOJ2Nkt9h1/vnYW/gplLXVMPY0qR9aNGTzu9FlfeC HQy7RntHwQi8/ie3aKik0KHmsfFL5/yMxkHAA9G86KBWJlS98I57n2G3m6cXOnFht8EsbdZzXsM g0LFUjsYC+qa2H7fwJL7ytkwttAqdV8nbXw+eRHgLOxdO9dODJN2Yl9Lu9sRY6ws= X-Google-Smtp-Source: AGHT+IHzBFEssRSoIVW5AElrclLCaLH+iY3cf6RTW4FyBHcfYAwoFaBKdjC/xJzqs6lxFPf11e8SkA== X-Received: by 2002:a05:690c:388:b0:71a:354:ab3 with SMTP id 00721157ae682-71b7ed16fd4mr58195387b3.3.1754185274461; Sat, 02 Aug 2025 18:41:14 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 11/11] target/arm: Enable FEAT_CMPBR for -cpu max Date: Sun, 3 Aug 2025 11:40:19 +1000 Message-ID: <20250803014019.416797-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250803014019.416797-1-richard.henderson@linaro.org> References: <20250803014019.416797-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::b34; envelope-from=richard.henderson@linaro.org; helo=mail-yb1-xb34.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=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1754185495194124100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- linux-user/elfload.c | 1 + target/arm/tcg/cpu64.c | 2 +- docs/system/arm/emulation.rst | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4ab6bcd50d..b2461aad2c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -877,6 +877,7 @@ abi_ulong get_elf_hwcap(void) GET_FEATURE_ID(aa64_dcpop, ARM_HWCAP_A64_DCPOP); GET_FEATURE_ID(aa64_rcpc_8_3, ARM_HWCAP_A64_LRCPC); GET_FEATURE_ID(aa64_rcpc_8_4, ARM_HWCAP_A64_ILRCPC); + GET_FEATURE_ID(aa64_cmpbr, ARM_HWCAP_A64_CMPBR); =20 return hwcaps; } diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index d4c021e34d..d0ecd517e7 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1178,7 +1178,7 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64ISAR2, MOPS, 1); /* FEAT_MOPS */ t =3D FIELD_DP64(t, ID_AA64ISAR2, BC, 1); /* FEAT_HBC */ t =3D FIELD_DP64(t, ID_AA64ISAR2, WFXT, 2); /* FEAT_WFxT */ - t =3D FIELD_DP64(t, ID_AA64ISAR2, CSSC, 1); /* FEAT_CSSC */ + t =3D FIELD_DP64(t, ID_AA64ISAR2, CSSC, 2); /* FEAT_CSSC, FEAT_CMP= BR */ SET_IDREG(isar, ID_AA64ISAR2, t); =20 t =3D GET_IDREG(isar, ID_AA64PFR0); diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index b9b11e82b3..1b7f7881fe 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -28,6 +28,7 @@ the following architecture extensions: - FEAT_BTI (Branch Target Identification) - FEAT_CCIDX (Extended cache index) - FEAT_CMOW (Control for cache maintenance permission) +- FEAT_CMPBR (Compare and Branch instructions) - FEAT_CRC32 (CRC32 instructions) - FEAT_Crypto (Cryptographic Extension) - FEAT_CSSC (Common Short Sequence Compression instructions) --=20 2.43.0