From nobody Sun Jul 26 12:39:53 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756151294714.3636346460668; Wed, 17 Jun 2026 21:15:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4AC-0005WI-Eg; Thu, 18 Jun 2026 00:15:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A1-0005SN-R0 for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:26 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A0-0005Zf-02 for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:25 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2bf22d29dabso3120555ad.2 for ; Wed, 17 Jun 2026 21:15:23 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756121; x=1782360921; 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=uPZ+QWhKOCzUvOJFQw8MMBMoO74ds4ZmhhvtP05m4yQ=; b=EnfpRirSXRSlFAsp98iE0BYJt0sTweGM/NKQ6q/dh7bzN6WV3qadhpqckEx05Fhhp6 TCPd4/5E3baWvBrXI+F1DyLU3nxxm3UxtxFSGt1sT+QaOcxKVxFcfJ9Eienj7GzVQSsM e6CGNT7r+AMesWGBVotvjo1SS13ffkxupaRvMhJ0yMRyOtb9Ev56OklKn+VIPC67VDCe 1ZHvnYnXMNwHZ6L1Cv4YrSGavDRPkjDBaxnwipRi5wRzA/05lSc9gt29ixwzbpED2ehw 0yOjNBB0Ads2o4MxHTYpvvLsv7LlhJMjYbmgSVQqxugHJGkiKVz9GnC9gk050+dlHWP2 H8UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756121; x=1782360921; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uPZ+QWhKOCzUvOJFQw8MMBMoO74ds4ZmhhvtP05m4yQ=; b=E48oxzIEhvw1kpZZRn9ktOcXm+ATCgcRXPhMGTufr+kznb7hkrd0Tqm5klBU0gszKp Hu2mcwOFQ9j89AzSX/7uFmYI6ly4kjHlniKGUjaWYl7lWYX3ttxHBfdAK1LimZiNPqzr 8mtNKVaqsdIJG4JKNPDbBq1484qrVzxkeaBYybDLeX//zFx+nwXqG4E+9WdFw8hzPeNz dVBEoCu6wve60QkH3QyTVZVthY49uCF6BbJVpxgLeTpXzR92m1SHMuRhiE6WaKMDbyI0 +4c7ebL8tIXrpmdXocDopECXP/eaAkZrtOoRsQHoza3AFiglrWjjTdlEeS+5DCo6F3/9 CETQ== X-Gm-Message-State: AOJu0YxH4IbbrU8Bg3DSx+Y0OyMGdyOTJ/mVr6J3RWVbRSVNd9qXtV7o 2FcQjzvhPg/1p+zh9cbXldMv/b30kDlGZCN3aVqpYV+U35b0Zv7DTs9uea0ToUlpHygzCt6GG+0 1ImK6 X-Gm-Gg: AfdE7cnM2Qb8F9l0bgAWWcALJwg0Ky4Wh2FifBRMjmyTl9/5jF6YL8TNstlz+TTWRMk 3CF8QbCnEGQ9vpH8u0hWYumQFDjcNJra7/ySZo/LzAS8qWq+4iiflpeknkV4GzxpMnWFA1cU2z2 iNymQ3gty7kDeGV9ckLwHS3ofRIbj+wdPsVYqyxhWavylt0yDUPFjUw1jX853SVw7SzbdS/v0JE 6PKUAk2rBx6HcoQ2ezLJdbBK9SOL+PIO11ntWOHJiLCfpDYYevFb7+cn9YFKx9llWletAL/WnCA mqKb20nROX7f1RKpq2LmQnwTgj3dV0SAk37+s9FePm9ut0PQpyQkvojjq1/yQ3iG6FWy5f+8sce tCRVgZUasZmWXNhf1nAtaU57WUF+zseoIgE2g1FCgAzC31TCl8z+a0NXtMt7VnYor4XLnUY3UfE 2ce6aKwMWt0TaBiDtDVK3BjjqRpHeWKgqYnB5zksm4Hph3d3/a8g== X-Received: by 2002:a17:902:d543:b0:2c0:c2c7:58ad with SMTP id d9443c01a7336-2c6f3427af2mr7728025ad.13.1781756121486; Wed, 17 Jun 2026 21:15:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 01/10] target/arm: Move tile_vslice_{index, offset} to vec_internal.h Date: Wed, 17 Jun 2026 21:15:08 -0700 Message-ID: <20260618041517.573469-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::630; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x630.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: 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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1781756152016158500 Content-Type: text/plain; charset="utf-8" Move in preparation for being used outside sme_helper.c. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/vec_internal.h | 31 +++++++++++++++++++++++++++++++ target/arm/tcg/sme_helper.c | 33 --------------------------------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/target/arm/tcg/vec_internal.h b/target/arm/tcg/vec_internal.h index 06fef2a209..77e5b01550 100644 --- a/target/arm/tcg/vec_internal.h +++ b/target/arm/tcg/vec_internal.h @@ -55,6 +55,37 @@ typedef struct CPUArchState CPUARMState; #define H8(x) (x) #define H1_8(x) (x) =20 +/* + * When considering the ZA storage as an array of elements of + * type T, the index within that array of the Nth element of + * a vertical slice of a tile can be calculated like this, + * regardless of the size of type T. This is because the tiles + * are interleaved, so if type T is size N bytes then row 1 of + * the tile is N rows away from row 0. The division by N to + * convert a byte offset into an array index and the multiplication + * by N to convert from vslice-index-within-the-tile to + * the index within the ZA storage cancel out. + */ +#define tile_vslice_index(i) ((i) * sizeof(ARMVectorReg)) + +/* + * When doing byte arithmetic on the ZA storage, the element + * byteoff bytes away in a tile vertical slice is always this + * many bytes away in the ZA storage, regardless of the + * size of the tile element, assuming that byteoff is a multiple + * of the element size. Again this is because of the interleaving + * of the tiles. For instance if we have 1 byte per element then + * each row of the ZA storage has one byte of the vslice data, + * and (counting from 0) byte 8 goes in row 8 of the storage + * at offset (8 * row-size-in-bytes). + * If we have 8 bytes per element then each row of the ZA storage + * has 8 bytes of the data, but there are 8 interleaved tiles and + * so byte 8 of the data goes into row 1 of the tile, + * which is again row 8 of the storage, so the offset is still + * (8 * row-size-in-bytes). Similarly for other element sizes. + */ +#define tile_vslice_offset(byteoff) ((byteoff) * sizeof(ARMVectorReg)) + /* * Expand active predicate bits to bytes, for byte elements. */ diff --git a/target/arm/tcg/sme_helper.c b/target/arm/tcg/sme_helper.c index 8e8e6c00ca..685b6b46be 100644 --- a/target/arm/tcg/sme_helper.c +++ b/target/arm/tcg/sme_helper.c @@ -64,39 +64,6 @@ void helper_sme_zero(CPUARMState *env, uint32_t imm, uin= t32_t svl) } } =20 - -/* - * When considering the ZA storage as an array of elements of - * type T, the index within that array of the Nth element of - * a vertical slice of a tile can be calculated like this, - * regardless of the size of type T. This is because the tiles - * are interleaved, so if type T is size N bytes then row 1 of - * the tile is N rows away from row 0. The division by N to - * convert a byte offset into an array index and the multiplication - * by N to convert from vslice-index-within-the-tile to - * the index within the ZA storage cancel out. - */ -#define tile_vslice_index(i) ((i) * sizeof(ARMVectorReg)) - -/* - * When doing byte arithmetic on the ZA storage, the element - * byteoff bytes away in a tile vertical slice is always this - * many bytes away in the ZA storage, regardless of the - * size of the tile element, assuming that byteoff is a multiple - * of the element size. Again this is because of the interleaving - * of the tiles. For instance if we have 1 byte per element then - * each row of the ZA storage has one byte of the vslice data, - * and (counting from 0) byte 8 goes in row 8 of the storage - * at offset (8 * row-size-in-bytes). - * If we have 8 bytes per element then each row of the ZA storage - * has 8 bytes of the data, but there are 8 interleaved tiles and - * so byte 8 of the data goes into row 1 of the tile, - * which is again row 8 of the storage, so the offset is still - * (8 * row-size-in-bytes). Similarly for other element sizes. - */ -#define tile_vslice_offset(byteoff) ((byteoff) * sizeof(ARMVectorReg)) - - /* * Move Zreg vector to ZArray column. */ --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756214; cv=none; d=zohomail.com; s=zohoarc; b=bzCVQvegSqcyyHWyM7WcFsZWJomFrNf14tUaDuEuMAh7zYDk9haW8nni4qdXuUH0I+gvun/NdktizU9BkxrG0qHmIlXU9mHREbq2kzxO8G8xlXcRZthboOZ8DPvbowMg4w0w/289rrO+SOzZAvGQXaeYf9qHeddg5eB4dkQB/YM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756214; 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=9sEmumsrzFhe2d+S3+ete9LhgUVrB8VbLgQyKIiI5rI=; b=jnijqWxiS1D0DUWv9r0gbVlR7CQdLcrg6k6W5HBmcawLQy49p5YEGfKiugcCeOwlXIAvFeGpkyYKtQHa+/AdMOyVorwEWN8idQcwBUuKQJKgj6DfQhkBrzwJwNQ/HvhyFra1GCLYsN4t7rwP11NzIHu3CS+YNtUQmlpKp+FU1xo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756214353455.1150561292311; Wed, 17 Jun 2026 21:16:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4A4-0005UO-J9; Thu, 18 Jun 2026 00:15:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A2-0005SO-9m for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:26 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A0-0005Zw-65 for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:26 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2c6c101aeafso3230685ad.0 for ; Wed, 17 Jun 2026 21:15:23 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756123; x=1782360923; 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=9sEmumsrzFhe2d+S3+ete9LhgUVrB8VbLgQyKIiI5rI=; b=L6idbvx0PTem2mo6wbpt0EkaETninPWdjit0nWwF9E7c60yxo6oa9siJSff0AbCiFB d5YfxNm/myju3xwRXZ5G1oWoZZMjw8feYQKi0clyoquX74+N35VMMJ9m5gMMT9BA1xez jUJSM2x3Pdvo0cznUEhkjUWsFmzCZL2xoAgAl4aN8nUvMA/JczuDIKFkuPrsgjoFalID YT7HKhpMPwkvUdzc5XVmr21QoPGND2LAm/2Rmbchmw1ooeucps5GTJbl/c/fovVqwkMc ybAFng+ljkfgG9n+8NCTiSwH8/RcPmUOGcRt2jplzudauqn2A51TQ5QnafXWcYWpq5gb tbdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756123; x=1782360923; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=9sEmumsrzFhe2d+S3+ete9LhgUVrB8VbLgQyKIiI5rI=; b=oPmiHBw7oaNKECFqMRvd5r7rt2AXosTW0/OVJruSVhY8PQDQ3UvA8Ew7xZQyUuEJp0 IhUxBD2xaCcER1Fm0rZnjQJjBqb440NS/lAZTrS/WGcUnyr1vIOZ6oIqIJi9q99ar9sk 9aZplwtirr4TFH9LxwsZRZsTczR+wdwGE+UclkXMy9VXaMZh2+D31qNtMZND3JCkwq3o ZcBJo4NQgAWiSltqPFVFbBz/Rireqjm8AlS6ae/xCCisDj+orI0bq7VIFi6QIUbXFIAM Q37BRc78IHvcbsuhcQ7uTDxKxIHPDwV6YXj5+kcHa2+0YhT5bUbR/rh6HxSzb7EwXh+p GMxg== X-Gm-Message-State: AOJu0YzXWB8WWcE44yUa/iM1PP71Oq+CLy6Li/Xe4pvJOGmyFEWCeNan PrYo9Oo0sPkK3encPQ4JACKIOPCwHWkb1CCj3vDL/xkVbi2ei+cfCK5SDheFYGs2e4kOF10EWEv fmi/Q X-Gm-Gg: AfdE7ckLnLDF5H2T3QhoZgHKHwKd4JOvNh2hkIR/55ik8zaOpujUYiH3j1MipioSBcz P2RFf8qSM1qi07OGnoXU95CnebnumcyfV/fgJb50tGTea6QubxJf+eH6RdzmHFlCU/AfI+d1ldX 3fC88vV27wDRtS9y62SdKod6WXzNEOWtgR8WppoIEft3J75pEfM4/Z9DTyKdMvmVH5gDTplobWk 6hyg3sJZTNOaW2x/oIwkdCUG9Wt11/osqxAPghdB9iQZ6WXq23kjUQ88spvkAjE0I6H3/QzolSf lC4k7wbsfxbbyt8z9VOjKIEuhNwO7IXuFxITESAsDDAIo5QHhE1yVVO+aYdY6cEnQp3Y4HLxaY2 TQDjSdipbHox1T5KlLdghKStSPr+vuIuGMBx6OzS/wJ+gnRSCrWetuab+8aJ7jtZAfu39+P4Hwh RQZe84a/xMPY76b2aO8wHJf026qvluFnvLPewy4W3HFLZSxGMcr/Cn4g05pwjL X-Received: by 2002:a17:903:19e7:b0:2c0:ab82:6bb8 with SMTP id d9443c01a7336-2c6e52b7ea4mr21474025ad.27.1781756122588; Wed, 17 Jun 2026 21:15:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 02/10] target/arm: Implement FMOPA (widening, 4-way fp8 to fp32) Date: Wed, 17 Jun 2026 21:15:09 -0700 Message-ID: <20260618041517.573469-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::634; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1781756216530158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu-features.h | 5 +++++ target/arm/tcg/helper-fp8-defs.h | 2 ++ target/arm/tcg/fp8_helper.c | 35 ++++++++++++++++++++++++++++++++ target/arm/tcg/translate-sme.c | 19 +++++++++++++++++ target/arm/tcg/sme.decode | 2 ++ 5 files changed, 63 insertions(+) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index c07bcb0a73..45213f71ab 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -1600,6 +1600,11 @@ static inline bool isar_feature_aa64_sme_b16b16(cons= t ARMISARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64SMFR0, B16B16); } =20 +static inline bool isar_feature_aa64_sme_f8f32(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64SMFR0, F8F32); +} + static inline bool isar_feature_aa64_sme_f16f16(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64SMFR0, F16F16); diff --git a/target/arm/tcg/helper-fp8-defs.h b/target/arm/tcg/helper-fp8-d= efs.h index e942308af4..7c090ccad6 100644 --- a/target/arm/tcg/helper-fp8-defs.h +++ b/target/arm/tcg/helper-fp8-defs.h @@ -38,3 +38,5 @@ DEF_HELPER_FLAGS_5(gvec_fdot_idx_hb, TCG_CALL_NO_RWG, voi= d, ptr, ptr, ptr, env, =20 DEF_HELPER_FLAGS_5(gvec_fmmla_sb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, en= v, i32) DEF_HELPER_FLAGS_5(gvec_fmmla_hb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, en= v, i32) + +DEF_HELPER_FLAGS_7(sme_fmopa_sb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr= , ptr, env, i32) diff --git a/target/arm/tcg/fp8_helper.c b/target/arm/tcg/fp8_helper.c index bd0877071b..08e04364fa 100644 --- a/target/arm/tcg/fp8_helper.c +++ b/target/arm/tcg/fp8_helper.c @@ -857,3 +857,38 @@ void HELPER(gvec_fmmla_hb)(void *vd, void *vn, void *v= m, =20 clear_tail(vd, oprsz, simd_maxsz(desc)); } + +void HELPER(sme_fmopa_sb)(void *vza, void *vzn, void *vzm, void *vpn, + void *vpm, CPUARMState *env, uint32_t desc) +{ + FP8MulContext ctx =3D fp8_mul_start(env, -1); + intptr_t oprsz =3D simd_maxsz(desc); + uint16_t *pn =3D vpn, *pm =3D vpm; + + for (intptr_t row =3D 0; row < oprsz; ) { + uint16_t prow =3D pn[H2(row >> 4)]; + do { + void *vza_row =3D vza + tile_vslice_offset(row); + uint32_t n =3D *(uint32_t *)(vzn + H1_4(row)); + + n &=3D expand_pred_b(prow & 0xf); + + for (intptr_t col =3D 0; col < oprsz; ) { + uint16_t pcol =3D pm[H2(col >> 4)]; + do { + if (prow & pcol & 0xf) { + uint32_t *a =3D vza_row + H1_4(col); + uint32_t m =3D *(uint32_t *)(vzm + H1_4(col)); + + m &=3D expand_pred_b(pcol & 0xf); + *a =3D f8dotadd_s(n, m, 4, *a, &ctx); + } + col +=3D 4; + pcol >>=3D 4; + } while (col & 15); + } + row +=3D 4; + prow >>=3D 4; + } while (row & 15); + } +} diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 98d3d18791..63c6e2c9b1 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -616,6 +616,25 @@ TRANS_FEAT(BFMOPA_w, aa64_sme, do_outprod_env, a, MO_3= 2, : !s->fpcr_ah ? gen_helper_sme_bfmops_w : gen_helper_sme_ah_bfmops_w) =20 +static bool trans_FMOPA_sb(DisasContext *s, arg_op *a) +{ + if (!dc_isar_feature(aa64_sme_f8f32, s)) { + return false; + } + if (fpmr_access_check(s) && sme_smza_enabled_check(s)) { + int svl =3D streaming_vec_reg_size(s); + uint32_t desc =3D simd_desc(svl, svl, 0); + + gen_helper_sme_fmopa_sb(get_tile(s, MO_32, a->zad), + vec_full_reg_ptr(s, a->zn), + vec_full_reg_ptr(s, a->zm), + pred_full_reg_ptr(s, a->pn), + pred_full_reg_ptr(s, a->pm), + tcg_env, tcg_constant_i32(desc)); + } + return true; +} + TRANS_FEAT(SMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_smopa_s) TRANS_FEAT(UMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_umopa_s) TRANS_FEAT(SUMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_sumopa= _s) diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 495330aed7..e668293efd 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -198,6 +198,8 @@ BFMOPA 10000001 101 ..... ... ... ..... . 100 = . @op_16 BFMOPA_w 10000001 100 ..... ... ... ..... . 00 .. @op_32 FMOPA_w_h 10000001 101 ..... ... ... ..... . 00 .. @op_32 =20 +FMOPA_sb 10000000 101 zm:5 pm:3 pn:3 zn:5 0 00 zad:2 &op sub=3D0 + SMOPA_s 1010000 0 10 0 ..... ... ... ..... . 00 .. @op_32 SUMOPA_s 1010000 0 10 1 ..... ... ... ..... . 00 .. @op_32 USMOPA_s 1010000 1 10 0 ..... ... ... ..... . 00 .. @op_32 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756155; cv=none; d=zohomail.com; s=zohoarc; b=SnLVcG9g+fzOMAZw3A2VpkWOCLbDZJpAPoHiLd4lIIo2DAvKp3eA+lUY2e79QPLujQzJxKPvq/Ej8S6MEAqEfd+l7CWTlei/sbQaKGeV56ZOaoUpblD4Z4oSl5Wk7rQX7Ly/uri+vOHhGMgelHNV/Azpr413kEMYHaBWeRS9tHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756155; 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=s9OcL1eG5TU1UTDD54e5zOZZZ7cUUNpp2dLnHbhNm1c=; b=IpYex0nJJFPo0fibpgC5U36XBJzktsrKHCQECwbJ9pUih7Ekb8ap6EKQJoB+fvtVzGCeWLZtMkaDPG5kyTJUHoiXX6a0KJYWeXQgT1TL3JzJeoyk9NsDYrGn1OcxROHADilFnO4/UzBvB0+8BeL7zCsn3FtbDIcibl18sZeCEPY= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756155623586.8963074614792; Wed, 17 Jun 2026 21:15:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4AC-0005W5-FJ; Thu, 18 Jun 2026 00:15:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A3-0005T4-6Z for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:27 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A1-0005aB-Fe for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:26 -0400 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-36b95eb4bb4so249307a91.3 for ; Wed, 17 Jun 2026 21:15:25 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756124; x=1782360924; 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=s9OcL1eG5TU1UTDD54e5zOZZZ7cUUNpp2dLnHbhNm1c=; b=X1Y9IkTFLRL2xE9klXuvHTOktnLdNrXlHgLizXaPgC1smjvS4Sh1e8DL2V6mQZ3pXc uApu++kg9wBX/7TiuSirRcNXloxFvPoxuduvcg/5WlSsJpqe2qVie8JQgLYncFOtvsd0 /ryIodhDv42jXATsgiQ7XvEzgdi//noiYuMlEUJUPTUDYFQN4FrSeZ/tgA7rEofFszQU WdYlno99qqsKkggi1PFOrmxzzWseIDeFYza1ppUT1Z8ftkzWX2PtqCqL4eMpnHmmQIH9 z48MFRPLzQq1cVQMWpmINYGGuLYSI81pEwCQ97M5cMjFuRhYa/hosSL41fqys794rJDz vDww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756124; x=1782360924; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=s9OcL1eG5TU1UTDD54e5zOZZZ7cUUNpp2dLnHbhNm1c=; b=nsVefK22ycs1BjMbEhmFRycADukPublbjIDULPXiqucsucE3e7irr9juySH4UG8BnA bl8vqPbPR5DdxbPKNHuIQk/YzovhQ5vC216CPyK4UsQt1Mr5uAFFmlrhoCVYlggLfh/0 A3Tor+XXEt2grCazL2FwLxRaEWMMuwxNfGxzskTN/WK7chfq7QP0/UABBvlV4zizY24F x1zNmTZ48wqfIKm8JUryw0mpfckl4rdD4kyMss5f1/X1AHeCYP0/4fzKvQxsr8nmH4Ly GmdBwyEdaVoncBbYJN2BdTuoAra8UyHcSdSgWKf+3YStoXYwvX01Y4BN2LybWl3fAgjz 64qw== X-Gm-Message-State: AOJu0YzxzLLojK4x4DdFw+gfdwW2UGsb0/KNAuYkAeF+N1q51lY96cYL mrrW/MuoBrgIx6yfGDsRQWdegGEv9acomfwk5nRZ+dMDDsnmRs0vasmBRO67WP18wzW6esBZIE5 ScO1R X-Gm-Gg: AfdE7clgHHA67tHqUUqfSDUwG4PVGw4WOvZmuliVmFDLibmxueIn62A/Z8rqmffboYa jJ5gdzR9vco575aM2EQlFIIg4TP64qelRLj+sOV71CJnv5gy70bHZsoCwEtjybLcGtDoRC7sJqz yOwQeaJcuO0XOI9cCFaA2FpvRuhXTTPNNKAVirNvwBj+EVR+zRmbq22P9lyNDT/HTtypJqxXGXN VKRVoJHVc111s6nyRF4w9FqwZCpSsskYQ4UyOvq9tAvNqT5nSDpV+ddxKUy+N7dzi7s9VONgWTO UW5HOFLewjA/yh2MiIqEe1rsknMuDhRMTge/LfiQSHgDsVKg4+TlWLOIqiewf5xhtvFOmI3En6T vOBQUmRZXiCwoqPY2wKlndVZJfxT1fKsDvs82Iqmq4qWr9K2gT+aBto8Bkp8mvy8vtQPyAGh0Ri d0Rf4X1VOAkUwdFdBfQvAvJThu1gU3mxgfi1b8Pjvy4nfzo5RWuw== X-Received: by 2002:a17:902:d4cc:b0:2c1:a19:8396 with SMTP id d9443c01a7336-2c6bc26b19dmr67425605ad.31.1781756123548; Wed, 17 Jun 2026 21:15:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 03/10] target/arm: Implement FMLALL (multiple and single vector) Date: Wed, 17 Jun 2026 21:15:10 -0700 Message-ID: <20260618041517.573469-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1035.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: 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: 1781756156113158501 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 49 ++++++++++++++++++++++++++++++++++ target/arm/tcg/sme.decode | 4 +++ 2 files changed, 53 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 63c6e2c9b1..30487c34a0 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1059,6 +1059,47 @@ static bool do_azz_acc_fp(DisasContext *s, int nreg,= int nsel, return true; } =20 +static bool do_azz_acc_fp8(DisasContext *s, int nreg, int nsel, + int rv, int off, int zn, int zm, + int data, int shsel, bool multi, + gen_helper_gvec_3_ptr *fn) +{ + /* + * TODO: Could plausibly reuse do_azz_acc_fp, after the fpmr check, + * but the fp8 helpers were written without a separate addend operand. + */ + if (fpmr_access_check(s) && sme_smza_enabled_check(s)) { + int svl =3D streaming_vec_reg_size(s); + int vstride =3D svl / nreg; + TCGv_ptr t_za =3D get_zarray(s, rv, off, nreg, nsel); + TCGv_ptr t; + + t =3D tcg_temp_new_ptr(); + + for (int r =3D 0; r < nreg; ++r) { + TCGv_ptr t_zn =3D vec_full_reg_ptr(s, zn); + TCGv_ptr t_zm =3D vec_full_reg_ptr(s, zm); + + for (int i =3D 0; i < nsel; ++i) { + int o_za =3D (r * vstride + i) * sizeof(ARMVectorReg); + int desc =3D simd_desc(svl, svl, data | (i << shsel)); + + tcg_gen_addi_ptr(t, t_za, o_za); + fn(t, t_zn, t_zm, tcg_env, tcg_constant_i32(desc)); + } + + /* + * For multiple-and-single vectors, Zn may wrap. + * For multiple vectors, both Zn and Zm are aligned. + */ + zn =3D (zn + 1) % 32; + zm +=3D multi; + } + } + return true; +} + + static bool do_fmlal(DisasContext *s, arg_azz_n *a, bool sub, bool multi) { return do_azz_acc_fp(s, a->n, 2, a->rv, a->off, a->zn, a->zm, @@ -1071,6 +1112,14 @@ TRANS_FEAT(FMLSL_n1, aa64_sme2, do_fmlal, a, true, f= alse) TRANS_FEAT(FMLAL_nn, aa64_sme2, do_fmlal, a, false, true) TRANS_FEAT(FMLSL_nn, aa64_sme2, do_fmlal, a, true, true) =20 +static bool do_fmlall_fp8(DisasContext *s, arg_azz_n *a, bool multi) +{ + return do_azz_acc_fp8(s, a->n, 4, a->rv, a->off, a->zn, a->zm, + 0, 0, multi, gen_helper_gvec_fmla_sb); +} + +TRANS_FEAT(FMLALL_n1_b, aa64_sme_f8f32, do_fmlall_fp8, a, false) + static bool do_fmlal_nx(DisasContext *s, arg_azx_n *a, bool sub) { return do_azz_acc_fp(s, a->n, 2, a->rv, a->off, a->zn, a->zm, diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index e668293efd..4956995924 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -445,6 +445,10 @@ FMLS_n1_h 11000001 001 1 .... 0 .. 111 ..... 01 = ... @azz_nx1_o3 n=3D4 FMLS_n1_s 11000001 001 1 .... 0 .. 110 ..... 01 ... @azz_nx1_o3 n= =3D4 FMLS_n1_d 11000001 011 1 .... 0 .. 110 ..... 01 ... @azz_nx1_o3 n= =3D4 =20 +FMLALL_n1_b 11000001 001 1 .... 0 .. 001 ..... 000 .. @azz_nx1_o2x4 = n=3D1 +FMLALL_n1_b 11000001 001 0 .... 0 .. 000 ..... 0001 . @azz_nx1_o1x4 = n=3D2 +FMLALL_n1_b 11000001 001 1 .... 0 .. 000 ..... 0001 . @azz_nx1_o1x4 = n=3D4 + ### SME2 Multi-vector Multiple Array Vectors =20 %zn_ax2 6:4 !function=3Dtimes_2 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756252; cv=none; d=zohomail.com; s=zohoarc; b=Ad/bFnWBXA7UgUlEriRZn1WJQoeTLEEUi6fwVlV+rMjiyaxZWn7eYVOIaj4bQRRW7yPQhzXP25diNhMdGAJg0RnFCz0xouh/yR39L28prnKLFkb3D+aOpUIGk4iG8vUJPQaTDHj67YNSjcgCqtLqcu4nOBIEzXq0d+3Qy0RTkoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756252; 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=Lo1SvQDZ7bTY6IMwdvD6UkdlbGJhlUGXDrYODR1SRVA=; b=BLHxAdNO5+WtJcVxlSs+0h7uQ5l/Nv41K9n8f/xiACZDHzv4jFfix0RT9BlwajfDn1pDSjABJx6T6MUCbV69iosuNVC8P5h3BiUXo5I2vFvq3jMJIdQV081fMaMiDUag2fiUim4jPrISxhgOH+QpAiwh2iLoS99CI/5pThcupjU= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756252665786.2006846554699; Wed, 17 Jun 2026 21:17:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4Aa-0005ls-KU; Thu, 18 Jun 2026 00:16:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A3-0005TS-T1 for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:27 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A2-0005aT-2N for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:27 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2c6c57c5bcfso4558995ad.1 for ; Wed, 17 Jun 2026 21:15:25 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756124; x=1782360924; 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=Lo1SvQDZ7bTY6IMwdvD6UkdlbGJhlUGXDrYODR1SRVA=; b=ZUlw0cZ8NQ/8OlQaTLha3KOUw7L2QI+200XzQUnawIDDorLsQY731B72lUN5pY+cmU wbELQquVk779ZtnffaPLj0aJez5UasY8nTKlEZ0XwhlEHn0ALK4qRd4qfd4hhzDIMoBD DbMBjQQVsdtZIQVcEXX0hoWG736mdC9xceCvXxgyfje5SBnVwxu6MenlmDKmBk0/DyDt 3LsSOvPrjlfnm+CQfkC9jRvDrwALrZ7HLD+qEEtAAJ1JxNnzqybqbtqB7h9Ejp7A7bLo ztcOAAJ8PIZ/4iobxTu8C5SVnIkDeoD3HpoWT9K+s/vq5Z8GVYBKhZwkaYBdcaowgmaX hDdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756124; x=1782360924; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Lo1SvQDZ7bTY6IMwdvD6UkdlbGJhlUGXDrYODR1SRVA=; b=mH2C13mF5Zh8b85VwDZUcJfjxJxXA2nOvvsFPWb80RsCygtFOSbB2B/u6e1rGajU6f pknKBrgddeZQAbpM+5EKVTyOWCZCR4rcWyg48mTUSx2H8gmockIyOGEanETV0DfJh635 hELPZt9g8fEhAKDA4gcGEg5VZHz81+n4t6gZqqNz2U0deE3QpAbAfedeprQuWBnOdr+k zXPjtjGefLvgTpreOgOnyGHvQAEsm5pMBVDqicBTAhXJxXhR4AYk5aDlZk6S2o5KNQfn AfpFUfmkeawCyw/pH/SAfGVfD3f7p6hePxxlpj49xpLV48ADLMsH/YbR5CHPgGV1CECs Q68A== X-Gm-Message-State: AOJu0Yx2uOOz4+oPMfhBykw4Zn9NSlBK81uh+Ic/hRuiledNchmTk1/i tkGICDFVRWOJCBe1Dd15GGclI6V2aQJ6RbX6FW7ndmeZb7BrvMZ6AVyDPRXEgduYarkHdZO0xl4 5KJyz X-Gm-Gg: AfdE7cmCC1DEH0dR7JYVIaP8Bz1UOWJC4govp+qT2p86EikCJFIFxKQuZRAut854uOX Szn7GmcL78jjoS7FhGkzQH0u3dtC6azmW57mfF+aGocugupOwUu/js0hqSzT1yDZjNUvYnZOeZ6 b1Wz6/EebN4wbymxf2K49SXWNa8izuikNKUf0I28XwgwEC6zq16kWNnSZd6H4S2Fi56xRU+Z9Ku 9Y9nw50dc8QRbNMgLpJMjJohte0XkHFzNrFX6jO+XtJW92+1Hv+mHXWLDcsrCOYpfIIg3Yomu+r rgh7x4obtS9uy+rBdEqXBQHlmxGJnk2FRXluKc8T3IK3E/22+wfKhq79+2GsZ59DEJF5YuRqDcY TcONHfKmRi9XO1R+oPTbdAefWKgpynzztkbj7gAOSevTjoFOrZJODlbhwt8b9PJ2hRwLI7+TC02 Vwh0mSCzAZ+dNfG7CGcOf7s64jA5nX2BqlZ/etTgUd254Dvc60WA== X-Received: by 2002:a17:903:2306:b0:2c2:75c4:4b0f with SMTP id d9443c01a7336-2c6bbf99275mr81442515ad.2.1781756124446; Wed, 17 Jun 2026 21:15:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 04/10] target/arm: Implement FMLALL (multiple vector) Date: Wed, 17 Jun 2026 21:15:11 -0700 Message-ID: <20260618041517.573469-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: 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: 1781756254399158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 1 + target/arm/tcg/sme.decode | 3 +++ 2 files changed, 4 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 30487c34a0..ae1dbd0528 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1119,6 +1119,7 @@ static bool do_fmlall_fp8(DisasContext *s, arg_azz_n = *a, bool multi) } =20 TRANS_FEAT(FMLALL_n1_b, aa64_sme_f8f32, do_fmlall_fp8, a, false) +TRANS_FEAT(FMLALL_nn_b, aa64_sme_f8f32, do_fmlall_fp8, a, true) =20 static bool do_fmlal_nx(DisasContext *s, arg_azx_n *a, bool sub) { diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 4956995924..ccc33463c2 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -569,6 +569,9 @@ FMLS_nn_h 11000001 101 ...01 0 .. 100 ...00 11 ..= . @azz_4x4_o3 FMLS_nn_s 11000001 101 ...01 0 .. 110 ...00 01 ... @azz_4x4_o3 FMLS_nn_d 11000001 111 ...01 0 .. 110 ...00 01 ... @azz_4x4_o3 =20 +FMLALL_nn_b 11000001 101 ....0 0 .. 000 ....1 0000 . @azz_2x2_o1x4 +FMLALL_nn_b 11000001 101 ...01 0 .. 000 ...01 0000 . @azz_4x4_o1x4 + &az_n n off rv zm @az_2x2_o3 ........ ... ..... . .. ... ..... .. off:3 \ &az_n n=3D2 rv=3D%mova_rv zm=3D%zn_ax2 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756220; cv=none; d=zohomail.com; s=zohoarc; b=BkkyKhSZ+R46NrKhutHFwlx/DrXs/9GqPocLkdS9DjTbP9mSQa4B1sl+1ETijDkWRztunvGkK6066hkogg3IBxkWCROh6pZ6O3shmsVtv3XBVPmSY7bdyclom7EDtIZXLKXgOcbyuGNZu7y0BvBlZJQUn/8lst4yC3OaQ5o4oNw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756220; 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=3chygMCcsKBu4o67vLIyPSrCAz2YQp8nqMW9makXS+Q=; b=dwtBMeHKyk+oCHg4iA3fAfWerZbc9/56c970PBUIwy6x3bmC1FJQfQ4Ii9gsJ4DKPI19EiAM9b5ujzFnK4qJ/5rGA/W1fkyU9LbQ5gzzx+e8MXRXfsPmfcu0I1kSjNOPLxdes0uhhDKsC3+O8xlsMHDQjWulSPAwp9RXoP94uCE= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756220049637.3539892914497; Wed, 17 Jun 2026 21:17:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4AM-0005Yt-3Q; Thu, 18 Jun 2026 00:15:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A4-0005V3-Vw for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:29 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A2-0005b0-Ug for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:28 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2c6be9cd7afso2190225ad.1 for ; Wed, 17 Jun 2026 21:15:26 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756125; x=1782360925; 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=3chygMCcsKBu4o67vLIyPSrCAz2YQp8nqMW9makXS+Q=; b=qY/oMymPWRCq31OxnG8YdFOR0nN2onIsS8Vy52WzNXs877/Cd+nKk+jDwWSSY9qMTX h6eSTosqZRx7z+0vTMpJdkxSks1vqbWhmOtpCR+3g8uqOvA4tk0REnDzuQZktVCFooBa jRUb244ytYkZcoCYRs3MpXPUtUwruq0kQFR34MPyLBLbbNH8eNjz5uHt+NGLtVT0n2mV 2dRH/ZGg7HcezGlt/KZZCYv/rW5v7d2PRnAKzVIwJ+XOKOtk5ZnBAPPjnHXINZYkuPgG HL0gqXH3d/W5BIqMiOUyPWc+J/cKpo9wTHtB9iz+zWDnAYYplb3e7OmAo1C4FCemkkaK +mxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756125; x=1782360925; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3chygMCcsKBu4o67vLIyPSrCAz2YQp8nqMW9makXS+Q=; b=rYYjE4CzJEt5pFPlezzC5VrBYyPc9vdlBrtcB/HYvtSQ7h44Fv9w/7mIRdm7GiXK69 89b1ulJ3whM7yfnB/acrPb2C0uO9vkEABrIRQNI1j7EiGZJ1G/4OP+8TSFsbE5ZMvVbc jTbCWffpLGhYll7So26Wu3j/yWOgI98aAfrCzuL1Ao9lvccfIuK2BQvyUr9mtL6EZ2Xh 3ISFaG2gWkJLHYtL40kbDBHkEmNEnG65ADHjBPbq3mPk0pUyfNBm6pZGho43/4X2RePm XHtFChuaNDxr7lR1zlu1DlHghUUzZCKN19BVPNNUthI7P+9BAxepcgq4gyrS6m8kc7EF o80A== X-Gm-Message-State: AOJu0YwOe3CFXKRZsqh1HADbxIG05xEGqm/i0sORRYoGXjA/vefC8Yum +oEWxiYEO/lD/uQUfzStObcC34dzTwh4GIZw1GfFqn/jLpHf+cDJGHBsUUCiIhY0Ztl/TIbLZPL fsxd8 X-Gm-Gg: AfdE7ckDCJI7b+bw28J+7fV3RUj9Ulix+WTpNnKGQljSqQrSpa+IaRcx/G/WjSI+iT8 bH/oTw1LeQYLk+MvqSG3BH0B2O6Ph69dTXwWTQyQPWS3lmpzVCc6o+RR+I18Dlpvqciw6q10hDp K/7l2YNib3Uzu+RqTLZNUkvEmeIeTAmWfIzJpXOi1WLdPa/F6ky36WVw9WmZsli1x0pHUoK7jpq g9U9jBbLlsDewlIONulzA7pK4MKoJrvsb84hj3QrKpMJoJgi/YLUM7eJgPYCS6bJ/vIFXG4/LbG b8I/kT4kq6+S0IV3sRWWDHG+IGzNQCOB3F7/usD7mBNmVRq5uCy1xm1rCfXV0+Y6mo8E+68piVX 5MMyguE2cmmgeokosgacAdfSxueEV7oNAxIv6WSb0GBnioFHS4twmaT51VAzns874dwtkwhqkiy +FcyCcwB2jO0d9IJdUm5d0EpUFnpUtjnuGiDOcSJwJFy7FCLCFKpPQTCHloqKy X-Received: by 2002:a17:902:e54b:b0:2bc:b80f:6782 with SMTP id d9443c01a7336-2c6e484a87fmr19979335ad.11.1781756125450; Wed, 17 Jun 2026 21:15:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 05/10] target/arm: Implement FMLALL (multiple and indexed vector) Date: Wed, 17 Jun 2026 21:15:12 -0700 Message-ID: <20260618041517.573469-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.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: 1781756220249158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 4 ++++ target/arm/tcg/sme.decode | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index ae1dbd0528..cc85c6d6e0 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1157,6 +1157,10 @@ static bool do_bfmlal_nx(DisasContext *s, arg_azx_n = *a, bool sub) TRANS_FEAT(BFMLAL_nx, aa64_sme2, do_bfmlal_nx, a, false) TRANS_FEAT(BFMLSL_nx, aa64_sme2, do_bfmlal_nx, a, true) =20 +TRANS_FEAT(FMLALL_nx_b, aa64_sme_f8f32, do_azz_acc_fp8, + a->n, 4, a->rv, a->off, a->zn, a->zm, + a->idx << 2, 0, false, gen_helper_gvec_fmla_idx_sb) + static bool do_fdot(DisasContext *s, arg_azz_n *a, bool multi) { return do_azz_acc_fp(s, a->n, 1, a->rv, a->off, a->zn, a->zm, 1, 0, diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index ccc33463c2..80ad674cf2 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -771,6 +771,10 @@ FMLS_nx_h 11000001 0001 .... 1 .. 1.. ...00 1 ..= .. @azx_4x1_i3_o3 FMLS_nx_s 11000001 0101 .... 1 .. 0.. ...00 10 ... @azx_4x1_i2_o3 FMLS_nx_d 11000001 1101 .... 1 .. 00. ...00 10 ... @azx_4x1_i1_o3 =20 +FMLALL_nx_b 11000001 0100 .... . .. ... ..... 000 .. @azx_1x1_i4_o2 +FMLALL_nx_b 11000001 1001 .... 0 .. 0.. ....1 00.. . @azx_2x1_i4_o1 +FMLALL_nx_b 11000001 0001 .... 1 .. 0.. ...10 00.. . @azx_4x1_i4_o1 + ### SME2 Add / Sub array accumulators =20 ADD_aaz_s 11000001 101 000000 .. 111 ....0 10 ... @az_2x2_o3 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756234; cv=none; d=zohomail.com; s=zohoarc; b=AvW5TyoBfLJLxGrPFhwn9j0s4lNkKBnorMS7LoG9mB5oOciq/glKgP3q8r3gq6bWa+HBYeLBcCJGuavonGPWa5FbhmoO7lo1fhhagJXTXVceqTy/Stu52xLvCIUj3zmZDLpGp3qANHSW5pOlG/qW8bNGhCiHPXDbPYTQ0glRZS0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756234; 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=BfHcgqSQ36vYhDqHmgC8PrWZm4ZineJsZ74HvJVrPIM=; b=mmTBhTrqmhhnO3Sd/KZspox8EeM5vY7N5F95yCpq85ynXdgtJavRQKzkf6L5v2AkacLxBS1AoG7DD/mffDG1bEgu2E4wRYGcHePc+ADdmcNINhV2xkUeBW6syykN5egha55Wr3yq7RKMBESlnT5YUCVsRYLPnvLstW2OInBPoqg= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756234817891.6883095709699; Wed, 17 Jun 2026 21:17:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4AN-0005Za-QQ; Thu, 18 Jun 2026 00:15:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A6-0005VA-BC for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:30 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A4-0005bm-E8 for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:29 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2c6b3f71648so6651825ad.2 for ; Wed, 17 Jun 2026 21:15:28 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756127; x=1782360927; 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=BfHcgqSQ36vYhDqHmgC8PrWZm4ZineJsZ74HvJVrPIM=; b=A9BXRNGtETvbCqvpIrA3waz2PlmFvJKCol548Je1VNOur3+GfuiAtvuGMPPOzuQddZ 9viRHUKfFWm5hT9++qHzPbtODznH6lzHE5YSYES+T+JP0FJIt3FHhCiLAu8n8lz5Cfqn sH/W5HKuEPGrKsc78yfEMYbyOdwn6Sr3p2bUfR4+rLZkmqrqcEYGsT/pd00YO0bAWqO5 U6n7kfiVeNRbzjkOGOyu/+DPlvyKq+JJU8oiJuq9sRzVMFvytVRrkQfHxFVRqm6NIHFW Qo3RqMWqiBHSvpw2FPYnsNlFbWJzYku2gYPm9AAt2/dJLElU/l139OnT7WGwoY5PvtmK w7/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756127; x=1782360927; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=BfHcgqSQ36vYhDqHmgC8PrWZm4ZineJsZ74HvJVrPIM=; b=p7yfFJoNnBjqCDOy+ZQHWxzuyp7/uSofm09Cz5mpWEtAfIFiDaHSgkkIR4INOsXLeH jQP9p88zIJ3c5L+ElmQmq1WV4Ayq7WT/jUJfcbDKyb7vKyCWauWGxOGR5SotuRIkJIdT qup1zkQWmTtZMuNnw4iHAl6eunXzowWaqOn7t1YuU/qcBWMCE2hn6zA6fMW/QvCy7+7E 8qgYlk90iT+O2Llp+2+gUiram+tjJ8FhRZeQ5KJHgT42YkBlWFNRrzkIEK8DShYlR6ia x1+6+H0vCv+Nb2iwxadh1OMXjoIRcg7WjE8qDccG7E3G4kQFhwPgeUnRiYN/ro4LWUzt 18WQ== X-Gm-Message-State: AOJu0YzPZtHGpONei5f9BTKeDm40M2Tf9nsOR/CI2TTBM/QGNy0jXR1c CncL8gA+l3mBOmHGVH2t1RxqXbLpSE0WVYl33NovqmS6XFpxsQGyW96TIMAxS9pCBk4FHkVo8Sx i3a4J X-Gm-Gg: AfdE7ck2ctcMyNwflxjEZCtYYXxA4a2gtsoBiH6X34Rilf93pXoQHxh48PpjGS8S4ck OvLnTbW7nTb+JeOxtmlwe0DAP7ZaQvJEUdTZf69fgtkT2g/BigUW1DEVcz8E5v9KYf3T5XoaTFW h6S5IdvFFRdj818PhQPQmp/7nZwEJnENAmfVwNSX7IHNu1lSe2VSIcB9fbed6VkDsr3oQOHARLh GBsDzJeGFCx4BHT9n9/jA3WYZmWAplWl8PoXb08hWPc41zK1B2UFo9pYvy4ftkBgvE0uGfq1X1q ckdSlM3wb7bQCDqAVVUY7KMuTHqyh/miSpvYmVRfNw2xTYO38oCfNgzD+YAUfsCVenmbptE6gSL V0fzelacNd8W7dKKmENIjY4e4joIJ/apGfBtwUnjmBpYMzIiTSqnPRQdLvmJxNS+GBopRLWbQjc xCRnfLsd25rAvHh1i4kloCMCHLtoWPJ+jXsTAM+ZHXSFlnGVNRpA== X-Received: by 2002:a17:903:32d1:b0:2bf:2015:5b93 with SMTP id d9443c01a7336-2c6bc0b4c2cmr72800895ad.11.1781756126969; Wed, 17 Jun 2026 21:15:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 06/10] target/arm: Implement FDOT (multiple and single vector) Date: Wed, 17 Jun 2026 21:15:13 -0700 Message-ID: <20260618041517.573469-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1781756236462158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 8 ++++++++ target/arm/tcg/sme.decode | 3 +++ 2 files changed, 11 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index cc85c6d6e0..8fea451089 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1170,6 +1170,14 @@ static bool do_fdot(DisasContext *s, arg_azz_n *a, b= ool multi) TRANS_FEAT(FDOT_n1, aa64_sme2, do_fdot, a, false) TRANS_FEAT(FDOT_nn, aa64_sme2, do_fdot, a, true) =20 +static bool do_fdot_fp8(DisasContext *s, arg_azz_n *a, bool multi) +{ + return do_azz_acc_fp8(s, a->n, 1, a->rv, a->off, a->zn, a->zm, + 0, 0, multi, gen_helper_gvec_fdot_sb); +} + +TRANS_FEAT(FDOT_n1_sb, aa64_sme_f8f32, do_fdot_fp8, a, false) + static bool do_fdot_nx(DisasContext *s, arg_azx_n *a) { return do_azz_acc_fp(s, a->n, 1, a->rv, a->off, a->zn, a->zm, diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 80ad674cf2..3c7caf8bdb 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -449,6 +449,9 @@ FMLALL_n1_b 11000001 001 1 .... 0 .. 001 ..... 000 = .. @azz_nx1_o2x4 n=3D1 FMLALL_n1_b 11000001 001 0 .... 0 .. 000 ..... 0001 . @azz_nx1_o1x4 = n=3D2 FMLALL_n1_b 11000001 001 1 .... 0 .. 000 ..... 0001 . @azz_nx1_o1x4 = n=3D4 =20 +FDOT_n1_sb 11000001 001 0 .... 0 .. 100 ..... 11 ... @azz_nx1_o3 n= =3D2 +FDOT_n1_sb 11000001 001 1 .... 0 .. 100 ..... 11 ... @azz_nx1_o3 n= =3D4 + ### SME2 Multi-vector Multiple Array Vectors =20 %zn_ax2 6:4 !function=3Dtimes_2 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756225; cv=none; d=zohomail.com; s=zohoarc; b=lX2TOqrWkF8ge8HoyhCSujHO4oCJu9vbks/5V8iO3SzfgRqpMsMkMmdmLyYJ0wvAAjoO/QDhNraG627pPJTJWAYhS/4Hk4WXC7LytWifzyYdIOqj2gptbq3vjZI9cPSl7eLJvl9YJ3/zDtwDejx/mE26u8Ou7T5zOJlAWN+bVdc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756225; 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=GynljLkvf1uEGLizdqiJ74gfCC4X3KXAsxV/9RvicuU=; b=AN4OmHXH2lXB8l4cbW227j6UwhoigrOzbc62Z4uYX/7CurwTev7YEbzC8pH7SDZGwd6fGEc50B3DdNoS5wXF0lkF3HeuVemIYdBuIBJYgDo0k6PnUG6OqxxwhYPzGTsZw8bhDk/ZNnqbAgAWMV5AC1Bg5PIlpIGzAm1dwI7O1Vw= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178175622576695.65726053106289; Wed, 17 Jun 2026 21:17:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4AN-0005ZN-Ml; Thu, 18 Jun 2026 00:15:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4A7-0005VK-5F for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:31 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A5-0005cF-Fu for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:30 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2c6ab886da6so3163385ad.0 for ; Wed, 17 Jun 2026 21:15:29 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756128; x=1782360928; 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=GynljLkvf1uEGLizdqiJ74gfCC4X3KXAsxV/9RvicuU=; b=gX7GPTkHO0Bi2AoR7lWylctvb2MvsXO+0t2oPSXpiTf0phBlhJ+P8GLi0GxkGxV5yn aFxLumJZg4mD+mI+eG1KM7y4brpHzvirqWOofs7B52mFv/KrBmVF+o9X+sz4ufIIRLjb X0RcRmmKG19Gv+N9c5l83tm4CmTpV7481IwwMjg27g1nTLQfy28MZh+S3vFyp9ERItUW Mrv4mYQGbRXKkZzTxvqZPtTPr09Pr2YboVSL+fQaZRm4Pl2DORV8/R0uY5KOSeJ6AlXc hjeaqGwNgJg1+GkVNklFygJg9uWm0lLZ0osctRBpYQJGg9TBw+Wk0u4pB9lRSETzPl8Q E2Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756128; x=1782360928; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GynljLkvf1uEGLizdqiJ74gfCC4X3KXAsxV/9RvicuU=; b=Nf336q0erx3Ewwu0+0PX+CbSvXCi6C9Q2Hl3fi984pWfFgumjOM9YSBe4OukwoXN8l QNl1hOOTehWD82CkQbtJI13b/5qBmsTC8DHKNbSlF8oqX8PJv+Wjo1RotnRWsP4o3ady RuPsJb+EtpbH+qIri2ThZWPhQ871B4oXPyrsErPws3otM7GwV9aFaeCJ8lGHFh/GoCHC o2ANQ7Ds+ysEfxhT23nrM7buxoVpt71sBTTCPH151fRaw2MVYWogyIJ0qL+o5MMyvxx7 2Nwic2XhOD71o3j23hV6S/3L+AeyjItEN7mFh7j1lMgPUMNS18KpS2bKGo8U1AWe/5v7 r2vw== X-Gm-Message-State: AOJu0Ywr50gz5pq+TEC9SNco6tmXLljO4Y6vIeGSUYCihdDPNbd7Gfcd b3iv9ZrFDJEreF/Q2meSlqtLsETiEyyzfOFBHJDuYW35c04skyIBFdKZq1ZWzf+nXSXfflcCFKf k458H X-Gm-Gg: AfdE7cn/UARHAxz0rBtY7N0XYBcb519NHHsBaKGQagqjePdy+UniTApjYXzY2w2Iini spwzu5J0RZSKSQC2/cpGtKRbxVA63oMInowrhNC1cpWMtoqERvk1qxZvRAHN2jbN4I71eu00byG 1w27AFWjMk5h2w8mc0ujVHwFFubRDYH/dQ5q4ft5+uTnN2YjCCWs7OLDYLT220fwdZKK3SBrDqV 3BRtUgixPOpFzWcBpJKHmsR/9vj1j/QboVNW1R8sTXG7HKxM3gJ/eN4D5YGBRL45R+kPzQbsVVe F4GapS/cswAa65HtILs6C0AH4PJiEiyId8mh9ctOqADbwmddVfShFY00E7NjXF6j70Ny4SyYJRf uf+w64YYgzISeBsMAn1ZmcrqXjlITAmFaOOHXXwfnsClQz9PqnSJ7wVZKP4QH65j5w8fF0orS0t COqn6jUVbyZI8m2rsCHlxzf1IqO6UIm2458vE3LRBntmN3ni2pnA== X-Received: by 2002:a17:903:1ae5:b0:2bc:ac76:c1cf with SMTP id d9443c01a7336-2c6bc224cbcmr71604955ad.24.1781756128122; Wed, 17 Jun 2026 21:15:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 07/10] target/arm: Implement FDOT (multiple vector) Date: Wed, 17 Jun 2026 21:15:14 -0700 Message-ID: <20260618041517.573469-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.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: 1781756226320158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 1 + target/arm/tcg/sme.decode | 3 +++ 2 files changed, 4 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 8fea451089..467b44e832 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1177,6 +1177,7 @@ static bool do_fdot_fp8(DisasContext *s, arg_azz_n *a= , bool multi) } =20 TRANS_FEAT(FDOT_n1_sb, aa64_sme_f8f32, do_fdot_fp8, a, false) +TRANS_FEAT(FDOT_nn_sb, aa64_sme_f8f32, do_fdot_fp8, a, true) =20 static bool do_fdot_nx(DisasContext *s, arg_azx_n *a) { diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 3c7caf8bdb..04dd0e6df0 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -575,6 +575,9 @@ FMLS_nn_d 11000001 111 ...01 0 .. 110 ...00 01 ..= . @azz_4x4_o3 FMLALL_nn_b 11000001 101 ....0 0 .. 000 ....1 0000 . @azz_2x2_o1x4 FMLALL_nn_b 11000001 101 ...01 0 .. 000 ...01 0000 . @azz_4x4_o1x4 =20 +FDOT_nn_sb 11000001 101 ....0 0 .. 100 ....1 10 ... @azz_2x2_o3 +FDOT_nn_sb 11000001 101 ...01 0 .. 100 ...01 10 ... @azz_4x4_o3 + &az_n n off rv zm @az_2x2_o3 ........ ... ..... . .. ... ..... .. off:3 \ &az_n n=3D2 rv=3D%mova_rv zm=3D%zn_ax2 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756215; cv=none; d=zohomail.com; s=zohoarc; b=Kh+1R5xvIApjIeuxOKtA6tkE3+ZDPuyfPoQttQnu0715b4v2ip82Pg3F3o4WfjEtGBvnjC97NNMb/878i7x+RnIXuW4u7VRtP9Vjqbf0GyEOikFfPvbMOXqWe4/EiVJdf8RnRN4H2EpPVF3OuDfpop/QoK+R+c+AkQas5nxKi0c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756215; 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=T+ZFcB7hmPMQ0d58EGVQ3yeZwBQzynsJic03YTjk5bk=; b=ZgThiq9Q7PrIl3/1uyejP3kfBlrko+0TyrNYUotlk9znfFsCoAGKPMGTqjfqAThJel1X8o+R2tqGdRaK4yhrhHVxupA1Mc4L70MJfI8FRanLW+fEvZOadqrOw46zzIfdU7R/jFncIbsI03ttqj7ofxuCiXvAhy1lvikz8/zKylU= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756215052977.2410355717784; Wed, 17 Jun 2026 21:16:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4AN-0005ZM-Lu; Thu, 18 Jun 2026 00:15:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4AA-0005WX-GU for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:36 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A7-0005cn-E4 for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:33 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2c6bb8a5980so3501925ad.2 for ; Wed, 17 Jun 2026 21:15:30 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756130; x=1782360930; 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=T+ZFcB7hmPMQ0d58EGVQ3yeZwBQzynsJic03YTjk5bk=; b=vPv0wfNLKKTl/EKE7Yg3/9ewuWWEmKlqq4nZyUYikN403WCYttyfJkCF8SFS1JsWsB +Cz4X+wQ4tD/R6DlpKYcErl3+gwyUj29Zt6+ogd5ersaMdXVbhVhd0brr63vmiebfgEt yW8sS2j1C+gzFYa1WgdXnHMDBzR/mvnl37gMjNwbdK1ClZwnqWxvc18Io4PhihauNjUq C73YuLxcIh+1Q8pDHnT+Y9sJ/yPiVebRCGSn0SFbGXD36Uo+921z+0KSj+j4qBf/tWiv xH7VnGiShg0SXvK3ldEBeu8LBYDEeQMvX89g0v9ZY2CZQi4tMDuV7jM3bHHL+NUCMb5s ODzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756130; x=1782360930; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=T+ZFcB7hmPMQ0d58EGVQ3yeZwBQzynsJic03YTjk5bk=; b=tK+/kEmg9A72d3njZCRKoS0LIi9fWcMlIv/mnhTrVMMcH9R//zNwptDBUSK76AirU2 7EVAoucBiA4VQtd1c4BVDRNWd/7k64lSTVxt0N9QaTQnhjTijJ8/XDu1at89mK8HQXTN FtWoznuDczU/Kg9WtGQ5esvosyAyzXLao3241uGMP4/iHZdibEOIGSdRSrZfuQd5Nwk5 k/UmYIgU5C52R/ZRLMMCdOk1Pw0eSxhXIVrv0wckyV0th5kzZAwqx/Un6x+hpcRD4uFS zsbv+7rW8ttuX7TRb2uG1w0XogGjAN9Vuz6IZUkLeBTquvvCi/rPJJ6DrvCUgg3ftvX0 c4kQ== X-Gm-Message-State: AOJu0YyFF83KL9pvthJyfjL+Ssu93tByePEnvM4kAXq43uM/wmKDhpqd YRQlcSbU4B6m6uycCUeeytIj0CzWteF6YxRx3F+xvkgyvD+hrQQVXXbKW+NJWTB1TN51+6FqBTH iygdk X-Gm-Gg: AfdE7cnm5uGirOMI8uzya1bwfmnjIqeCSgVVcKp4Ig95UoZU+LE8NJ9yY018RSA+6t5 1iEOenFFTgxlyCpMmpXt0nzJJPBCgZMK0QTkY68ngzY6GVkKlwnIUchept+jf7cYHy6bB04dz6c T9PEj5HZsoBgN/S7CDEOuPitCmh2TR666GD+iLX9ZhygezxxuulxQ6NK7lk6ofnvQzEE6Z0TwdP 4tGPlfjAPgM+X/9dYkfNM7HP5kAtULZLpgfYr4IeaMtbTNp5JnliqyS2nr+r3vKEO7eSav8K/Oh UVqGtB+esf/4TL+4MOWlP11XZIjF+DdVFAVyVEYrCGYUkUohdOIyADi9gAv6fDamvPkFzEdLNsn cWdAVLFom7W5MuU3YN4zW8j8h+aeKKUeBPBq8ozvP3xmAMqaq1KZVDz38IDM6Kql39WNPuUAEmt O0+uTCtFLqpAgbV8hdLvEWQFZ08X1JAEANidUMLnBcbMea0prEMw== X-Received: by 2002:a17:902:f641:b0:2c0:f807:56b2 with SMTP id d9443c01a7336-2c6e52c975emr20462325ad.34.1781756129565; Wed, 17 Jun 2026 21:15:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 08/10] target/arm: Implement FDOT (multiple and indexed vector) Date: Wed, 17 Jun 2026 21:15:15 -0700 Message-ID: <20260618041517.573469-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=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: 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: 1781756216529158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 4 ++++ target/arm/tcg/sme.decode | 3 +++ 2 files changed, 7 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 467b44e832..a9adaa02bd 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1161,6 +1161,10 @@ TRANS_FEAT(FMLALL_nx_b, aa64_sme_f8f32, do_azz_acc_f= p8, a->n, 4, a->rv, a->off, a->zn, a->zm, a->idx << 2, 0, false, gen_helper_gvec_fmla_idx_sb) =20 +TRANS_FEAT(FDOT_nx_b, aa64_sme_f8f32, do_azz_acc_fp8, + a->n, 1, a->rv, a->off, a->zn, a->zm, + a->idx, 0, false, gen_helper_gvec_fdot_idx_sb) + static bool do_fdot(DisasContext *s, arg_azz_n *a, bool multi) { return do_azz_acc_fp(s, a->n, 1, a->rv, a->off, a->zn, a->zm, 1, 0, diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 04dd0e6df0..7324ccddac 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -781,6 +781,9 @@ FMLALL_nx_b 11000001 0100 .... . .. ... ..... 000 .= . @azx_1x1_i4_o2 FMLALL_nx_b 11000001 1001 .... 0 .. 0.. ....1 00.. . @azx_2x1_i4_o1 FMLALL_nx_b 11000001 0001 .... 1 .. 0.. ...10 00.. . @azx_4x1_i4_o1 =20 +FDOT_nx_b 11000001 0101 .... 0 .. 0.. ....1 11 ... @azx_2x1_i2_o3 +FDOT_nx_b 11000001 0101 .... 1 .. 0.. ...00 01 ... @azx_4x1_i2_o3 + ### SME2 Add / Sub array accumulators =20 ADD_aaz_s 11000001 101 000000 .. 111 ....0 10 ... @az_2x2_o3 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756181; cv=none; d=zohomail.com; s=zohoarc; b=WU+Tyn7Wu2CY6M5QYwrTcky7cV1AV3qDU0xPrejIgJT41aE0SOUiVmTTeNprA1F7xntPksNWNQM74EYK2lnZ8WTXeEC9kYSwsrS6ghr4uIXzjOlspe/ON4QKIpCDsQfjWDE+jeFDWo45GUtIV09DlSWzHNZoNQzrL04++p1ENMQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756181; 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=Db7C2RFrWmKnSC2L2bY8BTdfGjmOikfBSA1gRuOEqcw=; b=Hm/YzAeGVUC3sMxMJZUKSwb65h6fSmwKvHsTvOG9j+Qj2m8k/KHbhlSMmXswFQUBw9cNVSaBaoHUdP0f6ibZykQBC1Gmh0qLRTzbfVj91wktU4dcTjux8ISf6S6vbNjOHy56m+2/13iske1RyYNe8GhOaz6XDQCeX4gIzhzazH0= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756181470846.2717039590498; Wed, 17 Jun 2026 21:16:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4Ao-0005ri-UF; Thu, 18 Jun 2026 00:16:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4AA-0005WW-GB for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:36 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A8-0005d6-CW for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:33 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2bf125989f2so3172725ad.3 for ; Wed, 17 Jun 2026 21:15:31 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756131; x=1782360931; 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=Db7C2RFrWmKnSC2L2bY8BTdfGjmOikfBSA1gRuOEqcw=; b=KiACVgrpxix/U3jnZwyWrOtxLeWhdckGRXyx65oJMAxF/iHET/k4uaC+wAfuj1EOAq EccZq/vVtcqLWMjLjECjPSkiCNKOjCo9OhSEIBSNtmE1f41qnu0YY9VCfJsscM6Pyc/U fE7mjmHFWBOhss0tFA4Dz+xXEadpcGaCXtv/KzdiCVvnysf79YrdS3Fn73WRRkqGIGnu ++WTxomkO2m3KHILxhtqUKeyirzP9U88S0Oz6XuH8kHLKFOlXmKBZuLdZRqJIASULl/h ya1PFt/AkEVoIacC+exmTiJQMraS0b6QcYdy8h8ONWmT46I34XaCzMUoGZzkNSCX3ZTP TY8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756131; x=1782360931; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Db7C2RFrWmKnSC2L2bY8BTdfGjmOikfBSA1gRuOEqcw=; b=LRJXJQxZu988k9VHFYR9W6wWu4x3CGuhk1gJsrdsfgkE5x+NdRWUuX08Xgx/YaOq9q RqvAu4HElpwbNsbOVJkuPci4G+1JBV3WhE3b1eV8pkNiI414OLBI0bGOKNlJemEh+15O TM4Cv+cowLEIY7Yu4Xf9iiAFCmcf35PPRCB/e/FPGPKR1B9JRkOEazefm1SU8xaHHLF/ wxSsy0PRmlbPGsrciX942Cq0rjN0E8dZPN+0zrke9MR/YrRS4jg/paufPMo1rr3OOzZK mTglMNDHAxchUTLMDq1x9xR7s/mGVOHtE2GEeol992vWF19guwYShMqxpWuPwcBp0maX 7T6g== X-Gm-Message-State: AOJu0YwfuSTsRy1Rr65r8FQD26a+MxeT1GqH4ex9+a+kfrH2E/K5tdgB kuHEPhFE9grNkizPGz/mxAiKVYBgP6Y27duPGGia9wDiCgb3tZ6Ly2rsS6zcu/YhwXWmsBGC4/0 ooAwg X-Gm-Gg: AfdE7cnXWNMJJHdOpxxvNeSgNu4YOEo5ZdnsboV3OlTe4JL4TK9VhBgtpmRF2aToLpd Q+Ic5IxhKjST/LKhhibrH0jxyvkzw+q5ZeW5RzX3U0P3HEdqCOrTYdP2M8u1ywaTep2sgIuddd7 WrmbgSSTRzy0E5XYScNvDH2XJbInyh9IzWYR7dXrEqtPBVzoFtrcFPI/twxFRbRuPg2zDzYBeCD 9gJNKSliKv1YzK1YtLzfIPCGtONsS0HcTreCLYu21XzAbzThieMTyB9r0jYCY2lk897i6F2J4GN bEOYEijR2RaY7+UIgS7RUtLHaeC+Jdiaq5ARfFyTiLfUwzUeBG0vg0cp+QbhKvvWgW+T5kZdHx4 lm9aMFGEjQFAEe7YSFUBCQvXOW9zHXxmP7Nprjdv3OgvSwZzwWuKOfk21mIgtTQ75M6oMXh5QE4 fAWEJycWtbf1DBg3iTuSkdk08bhOPpDDlC80ihJVoXgGIeo4ekdQ== X-Received: by 2002:a17:902:ebc4:b0:2c2:dadd:940 with SMTP id d9443c01a7336-2c6bbfa11c5mr73801055ad.2.1781756130610; Wed, 17 Jun 2026 21:15:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 09/10] target/arm: Implement FVDOTB, FVDOTT Date: Wed, 17 Jun 2026 21:15:16 -0700 Message-ID: <20260618041517.573469-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.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: 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: 1781756182396158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/helper-fp8-defs.h | 2 ++ target/arm/tcg/fp8_helper.c | 23 +++++++++++++++++++++++ target/arm/tcg/translate-sme.c | 10 ++++++++++ target/arm/tcg/sme.decode | 7 +++++++ 4 files changed, 42 insertions(+) diff --git a/target/arm/tcg/helper-fp8-defs.h b/target/arm/tcg/helper-fp8-d= efs.h index 7c090ccad6..ef1375fea7 100644 --- a/target/arm/tcg/helper-fp8-defs.h +++ b/target/arm/tcg/helper-fp8-defs.h @@ -40,3 +40,5 @@ DEF_HELPER_FLAGS_5(gvec_fmmla_sb, TCG_CALL_NO_RWG, void, = ptr, ptr, ptr, env, i32 DEF_HELPER_FLAGS_5(gvec_fmmla_hb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, en= v, i32) =20 DEF_HELPER_FLAGS_7(sme_fmopa_sb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr= , ptr, env, i32) + +DEF_HELPER_FLAGS_5(sme_fvdot_idx_sb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr,= env, i32) diff --git a/target/arm/tcg/fp8_helper.c b/target/arm/tcg/fp8_helper.c index 08e04364fa..3c2d959099 100644 --- a/target/arm/tcg/fp8_helper.c +++ b/target/arm/tcg/fp8_helper.c @@ -892,3 +892,26 @@ void HELPER(sme_fmopa_sb)(void *vza, void *vzn, void *= vzm, void *vpn, } while (row & 15); } } + +void HELPER(sme_fvdot_idx_sb)(void *vd, void *vn, void *vm, + CPUARMState *env, uint32_t desc) +{ + FP8MulContext ctx =3D fp8_mul_start(env, -1); + intptr_t oprsz =3D simd_maxsz(desc); + intptr_t elements =3D oprsz / sizeof(float32); + int idx_n =3D extract32(desc, SIMD_DATA_SHIFT, 2); + int idx_m =3D extract32(desc, SIMD_DATA_SHIFT + 2, 3); + float32 *d =3D vd; + uint8_t *n0 =3D vn; + uint8_t *n1 =3D vn + sizeof(ARMVectorReg); + uint16_t *m =3D vm; + intptr_t i =3D 0; + + do { + uint16_t mm =3D m[H2(2 * i + idx_m)]; + do { + uint16_t nn =3D n0[H1(4 * i + idx_n)] | (n1[H1(4 * i + idx_n)]= << 8); + d[H4(i)] =3D f8dotadd_s(nn, mm, 2, d[H4(i)], &ctx); + } while (++i & 3); + } while (i < elements); +} diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index a9adaa02bd..a79b0a9b80 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1233,6 +1233,16 @@ static bool do_vdot(DisasContext *s, arg_azx_n *a, g= en_helper_gvec_4_ptr *fn) TRANS_FEAT(FVDOT, aa64_sme, do_vdot, a, gen_helper_sme2_fvdot_idx_h) TRANS_FEAT(BFVDOT, aa64_sme, do_vdot, a, gen_helper_sme2_bfvdot_idx) =20 +static bool do_fvdot_sb(DisasContext *s, arg_azx_n *a, bool top) +{ + return do_azz_acc_fp8(s, a->n, 1, a->rv, a->off, a->zn, a->zm, + (2 * a->idx + top) << 2, 0, false, + gen_helper_sme_fvdot_idx_sb); +} + +TRANS_FEAT(FVDOTB_sb, aa64_sme_f8f32, do_fvdot_sb, a, false) +TRANS_FEAT(FVDOTT_sb, aa64_sme_f8f32, do_fvdot_sb, a, true) + static bool do_fmla(DisasContext *s, arg_azz_n *a, bool multi, ARMFPStatusFlavour fpst, gen_helper_gvec_3_ptr *fn) { diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 7324ccddac..1de5f341ef 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -784,6 +784,13 @@ FMLALL_nx_b 11000001 0001 .... 1 .. 0.. ...10 00..= . @azx_4x1_i4_o1 FDOT_nx_b 11000001 0101 .... 0 .. 0.. ....1 11 ... @azx_2x1_i2_o3 FDOT_nx_b 11000001 0101 .... 1 .. 0.. ...00 01 ... @azx_4x1_i2_o3 =20 +%idx2_10_3 10:1 3:1 +@azx_4x2_i2_o3 ........ .... zm:4 . .. ... .... ... off:3 \ + &azx_n n=3D4 rv=3D%mova_rv zn=3D%zn_ax2 idx=3D%idx2_10_3 + +FVDOTB_sb 11000001 1101 .... 0 .. 01. ....0 0. ... @azx_4x2_i2_o3 +FVDOTT_sb 11000001 1101 .... 0 .. 01. ....0 1. ... @azx_4x2_i2_o3 + ### SME2 Add / Sub array accumulators =20 ADD_aaz_s 11000001 101 000000 .. 111 ....0 10 ... @az_2x2_o3 --=20 2.43.0 From nobody Sun Jul 26 12:39:53 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=1781756218; cv=none; d=zohomail.com; s=zohoarc; b=U+/Qohnj7f5xW458kZj4pz31LSoMpnh4HXilQs+paYAUhhKYMfi6jGyKxlLcTuvS34uaCg27ASHfs40/sL+/hReaF4XVAWZ3c+DcCek946m+FS1Zb+fIYNqJFKygFM0gwrTHvTkP6GhrNMmHxQEpVUxgFKDCZmvC2jvdISU6iI8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781756218; 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=QUNjCEnZVPJxl7l4Mb3NlRKiXdWTuIzMooDXzb9Pf7o=; b=YB9Ob2cvS04KgpYwBj29pL1741Vw0q1aOB0QyND3YZ9MIWe6V/C9nx1KGMVcbjoM9rL7ujIc+oqVQV28pO4VOcy4cMkJw96rttIeIcgYh+Dwqbhe9GNa8tuocuKuhLT9DF7NG90boS9YwP90Z4L1k3/Ytp5ptyQCQ5eQ9nBXzQs= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781756218529293.7547501203045; Wed, 17 Jun 2026 21:16:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wa4Ap-0005u5-8i; Thu, 18 Jun 2026 00:16:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wa4AB-0005Wc-NU for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:37 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wa4A9-0005dO-8H for qemu-devel@nongnu.org; Thu, 18 Jun 2026 00:15:35 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2c6bb8a5980so3502135ad.2 for ; Wed, 17 Jun 2026 21:15:32 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c42f2e535csm173905935ad.6.2026.06.17.21.15.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 21:15:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1781756132; x=1782360932; 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=QUNjCEnZVPJxl7l4Mb3NlRKiXdWTuIzMooDXzb9Pf7o=; b=tXH/W5RbgPnZWS4urOh8SxqJRuwHyCf1je+UrQhoiGabopdR/5k8zSW5m73OyzZVcQ 6T1h5XExbzLAFPm2GjGP3Bz64g7XlVL3blkrz02/860cjtDzmdNsOcKCcYxw6yOpsNrI l9EOYzPPAZuIJ2u1ZCyCPM86wZXsAWMBSns41Lm/kh3khNMhQoYLlJDkhKp+NS3gJvnX 9mMINJCXBqJxndNpCaeRuEqb+N7993pobk3M4eoSSktbpM5gK5AeHEEZk58yA8ANXazR e1Wb5ngpornUF2grCAdfjMMycycMoX5HtR75KaxHDMSgY4M2tWmY0Ev7/109uJSmbw9x BVjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781756132; x=1782360932; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=QUNjCEnZVPJxl7l4Mb3NlRKiXdWTuIzMooDXzb9Pf7o=; b=d2pc3avWEAtuyq6Tu3IWs6D1IdBVhqygKHX2y365nDVNz5YzZzFxdUblBtftQJfWI4 o727WOl4BGJzh80iX01KKMDPYNqDsyYQQtGwdRIZ//azhmvBreYbWYH0RS11gQaofIC+ 3MfvU//KUCBs4SFJC7putOIFRjdScKvggyJpssXZ+TOBUmjrRYn5JiiOR3xq0p1Hv5I8 8/qKpWIEOJ2xKrDuiTcUyiaWwZhAh70jYrNSPBPfnb9GGrfZ1oqL8fpZNpaz8AbAczPr eXFdtTX1ZnVAO4aV5+7McR6fEzWmSRRCkCdlfP6NcZxN/k93PAyI5zOpqTifuXoddtPB wdUw== X-Gm-Message-State: AOJu0YxmtIiScSaYl3FarhHo7nYXxEjm4eiiUa/B8dtPSNBGu8azjmVq uFNWD9GhJL03XRxPGgXfDZCWoBmkN8n451xqXz3nOXXie9gB8Jx+9290e/mv+YHp8MH0lJaOvEP 0S8LO X-Gm-Gg: Acq92OFzmuVtlN0meXgjs3mrb0f5wlAvStnBT+ULjl3TZ/VoIP2pYkd5EFKGxe63NsF Wuhi/zl8kazoxJvZB3hrx+G63gb93v/12UuzL7suNpvTVOuakxoBre9DPypp8bjDtEgeF9gLFRW crov2MwmgQmw1v/KzBBy47uEh6hbPF7aXQhcJDTkebY2tUgDPT1fIpqM2bOAiwgD52LdeYWCuiB LtZgTbizaSbOBP405Wpw/8NverJ7hDHdtIKuG+H4B7CEYR1vzSi/bVi/NaJaFkZPf3OTeDLhpkl pZ1QJZNFSgaahUWDwYYmK4XZil/3q8SL+EAAzDGXJM6Ixp5u+WR+XXg8iYwc/pldglN0TIhWUO0 AMZOlEhykSJj7rQPLEXh1hDWSL9Eg2bBMzpTDTM0C4ukivsktaAmxd03M/aPQlWfpOSJqsq8uDB y9tL21ogtKO4QcS+kiEfOkqWzbRrLXv7d7v4ancFzIL75kP+eU+Q== X-Received: by 2002:a17:902:ced0:b0:2c0:c625:400d with SMTP id d9443c01a7336-2c6e52debf1mr18166045ad.37.1781756131763; Wed, 17 Jun 2026 21:15:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 10/10] target/arm: Enable FEAT_SME_F8F32 for -cpu max Date: Wed, 17 Jun 2026 21:15:17 -0700 Message-ID: <20260618041517.573469-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260618041517.573469-1-richard.henderson@linaro.org> References: <20260618041517.573469-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=lists1p.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.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: 1781756220253158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/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/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 0f96bbe70b..20b9838520 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -235,6 +235,7 @@ abi_ulong get_elf_hwcap2(CPUState *cs) GET_FEATURE_ID(aa64_ssve_f8fma, ARM_HWCAP2_A64_SME_SF8FMA); GET_FEATURE_ID(aa64_ssve_f8dp4, ARM_HWCAP2_A64_SME_SF8DP4); GET_FEATURE_ID(aa64_ssve_f8dp2, ARM_HWCAP2_A64_SME_SF8DP2); + GET_FEATURE_ID(aa64_sme_f8f32, ARM_HWCAP2_A64_SME_F8F32); =20 return hwcaps; } diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index e4a8d7a2f6..e9eda8fbf1 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1392,6 +1392,7 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64SMFR0, B16F32, 1); /* FEAT_SME */ t =3D FIELD_DP64(t, ID_AA64SMFR0, F16F32, 1); /* FEAT_SME */ t =3D FIELD_DP64(t, ID_AA64SMFR0, I8I32, 0xf); /* FEAT_SME */ + t =3D FIELD_DP64(t, ID_AA64SMFR0, F8F32, 1); /* FEAT_SME_F8F32 */ t =3D FIELD_DP64(t, ID_AA64SMFR0, F16F16, 1); /* FEAT_SME_F16F16 */ t =3D FIELD_DP64(t, ID_AA64SMFR0, B16B16, 1); /* FEAT_SME_B16B16 */ t =3D FIELD_DP64(t, ID_AA64SMFR0, I16I32, 5); /* FEAT_SME2 */ diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index 0b4623139a..a3a1607ff9 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -169,6 +169,7 @@ the following architecture extensions: - FEAT_SME_FA64 (Full A64 instruction set in Streaming SVE mode) - FEAT_SME_F16F16 (Non-widening half-precision FP16 arithmetic for SME2) - FEAT_SME_F64F64 (Double-precision floating-point outer product instructi= ons) +- FEAT_SME_F8F32 (SME2 ZA-targeting FP8 multiply-accumulate, dot product, = and outer product to single-precision instructions) - FEAT_SME_I16I64 (16-bit to 64-bit integer widening outer product instruc= tions) - FEAT_SME_LUTv2 (Lookup table instructions with 4-bit indices and 8-bit e= lements) - FEAT_SSVE_AES (Streaming SVE Mode Advanced Encryption Standard and 128-b= it polynomial multiply long instructions) --=20 2.43.0