From nobody Sun Jul 26 11:53:08 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=1782352406; cv=none; d=zohomail.com; s=zohoarc; b=R3d0rQzWgLq1eP+VkV9IDBPZcRWYlluoOusHA7GKQTaZsDEq3eXlLmL14iU4Ns2j3kvxMajL/EXFA/sI9+0ZLQ1mZ+u1BDg7XTe6qTBQfaAG3Uj/Y+xTYu3YFNTr48ZICVGdst5rwcx5IHPKNa3Sw+YnxFIJc7iHkTJ+2czNkZc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352406; 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=2eQncSFZsFgVseAuhiRF3eFkhO3t/hu3jVm0WVWbPxQ=; b=fmCGKmZBQDXPYRfFdIsz8JeOyreWiXFkvuai72N19iOJAM3al2WjczMK1EWznjqPH1xV1IA6S1idnssFTFJkaHNsqqg0M7PCwiRyzE0d9pA3cbnyvcckdnqMkhFOpL1I8A0PGhPIQO352V7httCzx0swBvXdG+EZFFW3m1sxpz8= 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 1782352406485887.2578347459547; Wed, 24 Jun 2026 18:53:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGB-0004pK-Nx; Wed, 24 Jun 2026 21:52:07 -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 1wcZG9-0004ni-Mz for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:05 -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 1wcZG6-0008Qd-Og for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:05 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2c6be9cd89bso7070975ad.2 for ; Wed, 24 Jun 2026 18:52:02 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352321; x=1782957121; 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=2eQncSFZsFgVseAuhiRF3eFkhO3t/hu3jVm0WVWbPxQ=; b=EWHxEnoRLhJl+4jikAxh3eVoMgYK9eH+WyCeMFxZPoiY11KoaIUlrLDPyU3rnzkjS8 X9ylb68MO2UoQZSmeuWLRlxIa7mGXKEyIqPXppItsqxbZg72f7L13DapAH5hBmYqkuwo 8lfYQ+obyPczRuBKpdOgIxS2lfBJy/wvJHanw38iPTtl8dNpee+FvPAYL7tLGvnXdv35 +WecckKER0Cl/PN0YgVVIiAxfx7R1IL7i1XLBVmeAu643xKRxln+HdqM40lRKX+3vX1M S7FK19ItpQU9beoxI7Np6Z04Iu10Q87si8xyqrLC3zE1+AaST0RhGvCm7BbId16Sax4m jqug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352321; x=1782957121; 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=2eQncSFZsFgVseAuhiRF3eFkhO3t/hu3jVm0WVWbPxQ=; b=HwFFuGywogTuIcomlnDV+EbNN6SKVY2lnjGhfR6U6mnuq6sI3PbgQsJpy4i97ScoSB Y2Ko74vAw10/f/vG2HYQOfe+hBX6C0MP20Lombn+LY6/kwaD6HW1rPe7jqvGmHkl2Sob gnGZfKK2yJu5Kuk5e3Cu4/7DmTvY63MJh/PvernxQ7zEatlQgbPPXGyKQIoJP7KLuPgb M4hxQLvZJPVxS8noAjJDooxFF/AqY5m8kpx3RbkE+QGwhvGN7lfYCyPA9l1KZn5xcdGK XyAfd4CO8WkhRYVDqy2nCtM8zWb0FdlRga+gl1F0eA5RQ/nsZa4SDzNgVSZ2inZs/kj4 hLXw== X-Gm-Message-State: AOJu0YxtGmn2JS4S1w3Qw/JV95TG0RFe03HUrQeIfyE5c/Xnq3CYsMNs lFWVokJMwFC5uPscdvfNazuQ4L8ZN7MNBI/fbIRc2VOYRgNOp/suZts50zo4ddbeEgtxBbnExXw 1F5Lj X-Gm-Gg: AfdE7ckzwHdajwOQ51m2Qe34jhcsjuGrYdqm7TFNVgUSSf1o5EcdZ0Ck3C0DSsrPB3Z bmBoX9gL7MIgNtfXi6HcLzZ+OP/t+vf4hAXpHsl5E408elt/gx0MJ0VNF6Vqva5vsK04C4Gvbfc grTz4wNcQXaPniiKKLBswxYjBGEDqBhq5NxmNwcDG+9dtJ6G19q9TT8iaKb0DgC8Bbyg0u432v/ 9E4/R2IuyEus26asZ32kuuPiKG9HKYyRKnY07+t5TCVz5fnslWJcBOTMPgpMdM+zXdJZ9R6n+Gk XQGetWyHVlCSr+2rR4K+KKFcOd1OqxDNNTVaCYwoVqCiVSQiswphZXfG/KIgLRWiGUrARnIWO5E Mnf68P+XglDDDOWDrNoDHonFWE/G5oRT6r8099gs8vqc5wXFKKwO1nq3gl2ULr5zkp7/UgOzvdL 9VKvjv4qLauhrBVYyxQyg3aDE0/Jx3k91ia7+udQuYuMBzbL4Fpg== X-Received: by 2002:a17:902:e78d:b0:2c7:f12d:5d37 with SMTP id d9443c01a7336-2c7fca15751mr6766505ad.17.1782352321096; Wed, 24 Jun 2026 18:52:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 01/10] target/arm: Enable FADD/FSUB (half-precision) with FEAT_SME_F8F16 Date: Wed, 24 Jun 2026 18:51:49 -0700 Message-ID: <20260625015159.719300-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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=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: 1782352408500158500 Content-Type: text/plain; charset="utf-8" These two instructions can be enabled with either FEAT_SME_F8F16 or FEAT_SME_F16F16. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/cpu-features.h | 11 +++++++++++ target/arm/tcg/translate-sme.c | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 45213f71ab..cd78353609 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -1605,6 +1605,11 @@ static inline bool isar_feature_aa64_sme_f8f32(const= ARMISARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64SMFR0, F8F32); } =20 +static inline bool isar_feature_aa64_sme_f8f16(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64SMFR0, F8F16); +} + static inline bool isar_feature_aa64_sme_f16f16(const ARMISARegisters *id) { return FIELD_EX64_IDREG(id, ID_AA64SMFR0, F16F16); @@ -1776,6 +1781,12 @@ isar_feature_aa64_sme2_or_sve2_lut(const ARMISARegis= ters *id) return isar_feature_aa64_sme2_or_sve2(id) && isar_feature_aa64_lut(id); } =20 +static inline bool +isar_feature_aa64_sme_f16f16_or_f8f16(const ARMISARegisters *id) +{ + return isar_feature_aa64_sme_f16f16(id) && isar_feature_aa64_sme_f8f16= (id); +} + /* * Feature tests for "does this exist in either 32-bit or 64-bit?" */ diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index a79b0a9b80..b8dde80c20 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1335,9 +1335,9 @@ static bool do_faddsub(DisasContext *s, arg_az_n *a, = ARMFPStatusFlavour fpst, return true; } =20 -TRANS_FEAT(FADD_nn_h, aa64_sme_f16f16, do_faddsub, a, +TRANS_FEAT(FADD_nn_h, aa64_sme_f16f16_or_f8f16, do_faddsub, a, FPST_ZA_F16, gen_helper_gvec_fadd_h) -TRANS_FEAT(FSUB_nn_h, aa64_sme_f16f16, do_faddsub, a, +TRANS_FEAT(FSUB_nn_h, aa64_sme_f16f16_or_f8f16, do_faddsub, a, FPST_ZA_F16, gen_helper_gvec_fsub_h) =20 TRANS_FEAT(FADD_nn_s, aa64_sme2, do_faddsub, a, --=20 2.43.0 From nobody Sun Jul 26 11:53:08 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=1782352412; cv=none; d=zohomail.com; s=zohoarc; b=VbCKWcr+H13jLlC2wPaBr9GticIybUPosCe/xVIdAvpP8wJuAZ3HWfyl6mc10GjCCKS6+Nt+/Sw1jPhZFgSrNAisRVUv1BPRYi8w3L50KA74XPzTrBZXXhtPzVg+dKJxGGeLXbDE6HqpS0Cb6X39++JkZ76lFwPkQNILemyvgw4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352412; 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=idj9Q2rEr7IpLviqkeBHfIp7SzWSnDPDKLJaafvlO4I=; b=P8IIpYVRL+yWtFSjaYCzlijL1T3EB81Uoer0Qea4LUBhe0y2j+OW8R04V0nBt3f8NuvFsG+ThqWkIAur9povxrEccKpSnClONrUW2PPY/t24TZ/ViPxXcYtg4nY34WWJFPxBXsSIYj9wINb1byUh94YWJKxeUgWSzoCTbSuUwqs= 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 1782352412174271.87339607028264; Wed, 24 Jun 2026 18:53:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGC-0004pn-Dc; Wed, 24 Jun 2026 21:52:08 -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 1wcZG9-0004nk-OK for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:05 -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 1wcZG7-0008R7-RT for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:05 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2c6be9cd89bso7071025ad.2 for ; Wed, 24 Jun 2026 18:52:03 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352322; x=1782957122; 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=idj9Q2rEr7IpLviqkeBHfIp7SzWSnDPDKLJaafvlO4I=; b=Rvx/V1bMmH9UkKGTYmgjXPgZbmrGo6q7ecGbKfMQy7TlPGTjJbGf/J55V7aLHy0/rQ YuuG5zHCgJPyhP1Yl555m1YdhCDCAJ4RhVdvpHOOJAWB9aJhJZ3Vy1KtzHSfi3zwkAu2 rJ+bqh2n48i+2eoG5mps8IluMdHgxdp02jGSLQUS41ZfneXncWuHA/LhQDUYs8ssSQov EkVzhDgVBRkVPBVAPJy8HHj4rttfWBvgXscY1bI/JvzD+asvaDZIbuEjSrj06R/wlDLI 2sGIBlFZNPSlxqeKMNLNrCTWvCW2lY5oCK70dqKu6WeBU5QMR5Lt78/qsAq33eMPXzfT YV0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352322; x=1782957122; 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=idj9Q2rEr7IpLviqkeBHfIp7SzWSnDPDKLJaafvlO4I=; b=Wx/BlHLFen5CcIVU9sJ3Ln5E80pkR+muJ0TJQt9qu785kMtwJt7VPAF5csukxQgQk4 jIMUKFTJvgn8m6IqYUYYz7f79ntg7KPi/dig3NaaS7UfjYFRFXAC6mG/Qrmv/A26GdOj 1wCtvqYVyV0XXlL+LzHaJJVlu32IkwzMCsIK8arTewS1h/HfqcA+0zqdtntTdc3v8Q51 zTUKMEPCRd7ue/2Isv3G8f1Cx7t9XTGXCSPXZFAiidaiBFLOfFZ1ZWAMPAIXL0dJ2m1e 62QamzDef2ZzH02K/1exuUsH9ltuGfFNoqn6Y0tOtnZ2yb/LlbPYgQ4dr6dh3jtfosEv 7Qqw== X-Gm-Message-State: AOJu0YwGyEvVmlyBmf2vCdzMzjid5TsHa0LBh+AROzUrqc848Miy421O oM3D3NZlh9OyUZfPFOaJAUg/J3lR3dVAS6fW9TmYRG6zL8+afgCjaw5NHAmJEeOLDLqM8SMnS/y NJ18n X-Gm-Gg: AfdE7clBOMZvioDIR5hDiYIQzvn+NGyjvobA1raZvQMPYaI749GDWJknVmSlPKoDDDT oZnW5ZnjJvNdtXl5rg99ERd6V4L5Burfmiu/gR6Vef1vV9+n6EfAZRM4h8qiHlzbDNDRtbzGnGn 3iirUCZ8y8ZbHXGPrwJ03ejNPa/pLz5ckgUZ5xP6Q5SePTuQyfPlf7Bbdg5QIylBEX6FHh3NMMF 83tpY3fqj/u4GbV07syjVBXFYHw55HK2VAhPQ0uGvUyQv7mXjkjk3m+6xHA+htU+JgUDULXHQBU mTqdI0DDeCZyLcM8G157pLBehtY267xj2EYvvurwF1vACAQ44ZV6zLwVT9KsPJThp0pppRZaPup KlAwByc1Ke2+Ff1PAkJi2cc/6h0Z1aCFRYI48zkM6NUUX0KYKUD9weXInLCOxJQuN16AmhiuccR Edqvqnrsr/oSMZfYogzSNv2/X0zUNOspKHN5GQXYrnSGebTzeUqw== X-Received: by 2002:a17:902:da88:b0:2c6:e46f:7e62 with SMTP id d9443c01a7336-2c7fca4b753mr6525515ad.33.1782352322139; Wed, 24 Jun 2026 18:52:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 02/10] target/arm: Rename SME FMLAL/FMLSL patterns Date: Wed, 24 Jun 2026 18:51:50 -0700 Message-ID: <20260625015159.719300-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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: 1782352414485158500 Content-Type: text/plain; charset="utf-8" Rename patterns to include _sh suffix, so that we can distinguish insns of the same name from FEAT_SME_F8F16. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 12 ++++++------ target/arm/tcg/sme.decode | 32 ++++++++++++++++---------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index b8dde80c20..7aa270d3ec 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1107,10 +1107,10 @@ static bool do_fmlal(DisasContext *s, arg_azz_n *a,= bool sub, bool multi) multi, FPST_ENV, gen_helper_sve2_fmlal_zzzw_s); } =20 -TRANS_FEAT(FMLAL_n1, aa64_sme2, do_fmlal, a, false, false) -TRANS_FEAT(FMLSL_n1, aa64_sme2, do_fmlal, a, true, false) -TRANS_FEAT(FMLAL_nn, aa64_sme2, do_fmlal, a, false, true) -TRANS_FEAT(FMLSL_nn, aa64_sme2, do_fmlal, a, true, true) +TRANS_FEAT(FMLAL_n1_sh, aa64_sme2, do_fmlal, a, false, false) +TRANS_FEAT(FMLSL_n1_sh, aa64_sme2, do_fmlal, a, true, false) +TRANS_FEAT(FMLAL_nn_sh, aa64_sme2, do_fmlal, a, false, true) +TRANS_FEAT(FMLSL_nn_sh, aa64_sme2, do_fmlal, a, true, true) =20 static bool do_fmlall_fp8(DisasContext *s, arg_azz_n *a, bool multi) { @@ -1128,8 +1128,8 @@ static bool do_fmlal_nx(DisasContext *s, arg_azx_n *a= , bool sub) false, FPST_ENV, gen_helper_sve2_fmlal_zzxw_s); } =20 -TRANS_FEAT(FMLAL_nx, aa64_sme2, do_fmlal_nx, a, false) -TRANS_FEAT(FMLSL_nx, aa64_sme2, do_fmlal_nx, a, true) +TRANS_FEAT(FMLAL_nx_sh, aa64_sme2, do_fmlal_nx, a, false) +TRANS_FEAT(FMLSL_nx_sh, aa64_sme2, do_fmlal_nx, a, true) =20 static bool do_bfmlal(DisasContext *s, arg_azz_n *a, bool sub, bool multi) { diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 1de5f341ef..90ee161461 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -324,13 +324,13 @@ SUB_azz_n1_d 11000001 0111 .... 0 .. 110 ..... 11 = ... @azz_nx1_o3 n=3D4 @azz_nx1_o2x2 ........ ... . zm:4 . .. ... zn:5 ... .. \ &azz_n off=3D%off2_x2 rv=3D%mova_rv =20 -FMLAL_n1 11000001 001 0 .... 0 .. 011 ..... 00 ... @azz_nx1_o3x2 = n=3D1 -FMLAL_n1 11000001 001 0 .... 0 .. 010 ..... 000 .. @azz_nx1_o2x2 = n=3D2 -FMLAL_n1 11000001 001 1 .... 0 .. 010 ..... 000 .. @azz_nx1_o2x2 = n=3D4 +FMLAL_n1_sh 11000001 001 0 .... 0 .. 011 ..... 00 ... @azz_nx1_o3x2 = n=3D1 +FMLAL_n1_sh 11000001 001 0 .... 0 .. 010 ..... 000 .. @azz_nx1_o2x2 = n=3D2 +FMLAL_n1_sh 11000001 001 1 .... 0 .. 010 ..... 000 .. @azz_nx1_o2x2 = n=3D4 =20 -FMLSL_n1 11000001 001 0 .... 0 .. 011 ..... 01 ... @azz_nx1_o3x2 = n=3D1 -FMLSL_n1 11000001 001 0 .... 0 .. 010 ..... 010 .. @azz_nx1_o2x2 = n=3D2 -FMLSL_n1 11000001 001 1 .... 0 .. 010 ..... 010 .. @azz_nx1_o2x2 = n=3D4 +FMLSL_n1_sh 11000001 001 0 .... 0 .. 011 ..... 01 ... @azz_nx1_o3x2 = n=3D1 +FMLSL_n1_sh 11000001 001 0 .... 0 .. 010 ..... 010 .. @azz_nx1_o2x2 = n=3D2 +FMLSL_n1_sh 11000001 001 1 .... 0 .. 010 ..... 010 .. @azz_nx1_o2x2 = n=3D4 =20 BFMLAL_n1 11000001 001 0 .... 0 .. 011 ..... 10 ... @azz_nx1_o3x2 = n=3D1 BFMLAL_n1 11000001 001 0 .... 0 .. 010 ..... 100 .. @azz_nx1_o2x2 = n=3D2 @@ -477,11 +477,11 @@ SUB_azz_nn_d 11000001 111 ...01 0 .. 110 ...00 11 = ... @azz_4x4_o3 @azz_4x4_o2x2 ........ ... ..... . .. ... ..... ... .. \ &azz_n n=3D4 rv=3D%mova_rv zn=3D%zn_ax4 zm=3D%zm_ax4 off= =3D%off2_x2 =20 -FMLAL_nn 11000001 101 ....0 0 .. 010 ....0 000 .. @azz_2x2_o2x2 -FMLAL_nn 11000001 101 ...01 0 .. 010 ...00 000 .. @azz_4x4_o2x2 +FMLAL_nn_sh 11000001 101 ....0 0 .. 010 ....0 000 .. @azz_2x2_o2x2 +FMLAL_nn_sh 11000001 101 ...01 0 .. 010 ...00 000 .. @azz_4x4_o2x2 =20 -FMLSL_nn 11000001 101 ....0 0 .. 010 ....0 010 .. @azz_2x2_o2x2 -FMLSL_nn 11000001 101 ...01 0 .. 010 ...00 010 .. @azz_4x4_o2x2 +FMLSL_nn_sh 11000001 101 ....0 0 .. 010 ....0 010 .. @azz_2x2_o2x2 +FMLSL_nn_sh 11000001 101 ...01 0 .. 010 ...00 010 .. @azz_4x4_o2x2 =20 BFMLAL_nn 11000001 101 ....0 0 .. 010 ....0 100 .. @azz_2x2_o2x2 BFMLAL_nn 11000001 101 ...01 0 .. 010 ...00 100 .. @azz_4x4_o2x2 @@ -617,13 +617,13 @@ BFSUB_nn 11000001 111 00101 0 .. 111 ...00 01 = ... @az_4x4_o3 @azx_4x1_o2x2 ........ .... zm:4 . .. . .. ..... .. ... \ &azx_n n=3D4 rv=3D%mova_rv off=3D%off2_x2 zn=3D%zn_ax4 idx= =3D%idx2_10_2 =20 -FMLAL_nx 11000001 1000 .... . .. 1 .. ..... 00 ... @azx_1x1_o3x2 -FMLAL_nx 11000001 1001 .... 0 .. 1 .. ....0 00 ... @azx_2x1_o2x2 -FMLAL_nx 11000001 1001 .... 1 .. 1 .. ...00 00 ... @azx_4x1_o2x2 +FMLAL_nx_sh 11000001 1000 .... . .. 1 .. ..... 00 ... @azx_1x1_o3x2 +FMLAL_nx_sh 11000001 1001 .... 0 .. 1 .. ....0 00 ... @azx_2x1_o2x2 +FMLAL_nx_sh 11000001 1001 .... 1 .. 1 .. ...00 00 ... @azx_4x1_o2x2 =20 -FMLSL_nx 11000001 1000 .... . .. 1 .. ..... 01 ... @azx_1x1_o3x2 -FMLSL_nx 11000001 1001 .... 0 .. 1 .. ....0 01 ... @azx_2x1_o2x2 -FMLSL_nx 11000001 1001 .... 1 .. 1 .. ...00 01 ... @azx_4x1_o2x2 +FMLSL_nx_sh 11000001 1000 .... . .. 1 .. ..... 01 ... @azx_1x1_o3x2 +FMLSL_nx_sh 11000001 1001 .... 0 .. 1 .. ....0 01 ... @azx_2x1_o2x2 +FMLSL_nx_sh 11000001 1001 .... 1 .. 1 .. ...00 01 ... @azx_4x1_o2x2 =20 BFMLAL_nx 11000001 1000 .... . .. 1 .. ..... 10 ... @azx_1x1_o3x2 BFMLAL_nx 11000001 1001 .... 0 .. 1 .. ....0 10 ... @azx_2x1_o2x2 --=20 2.43.0 From nobody Sun Jul 26 11:53:08 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=1782352400; cv=none; d=zohomail.com; s=zohoarc; b=OtMIuYP02Fw9aPj7Nz2lbHu0KtStDADW63T/ro/x0lx8ONus8ITaZGszekOUwqCTd5cyM7vVGOudL6VkJSeE6emC+Z00wWrEhn8hxJxqYb76mnclPUSEMKL0A8Y/mAdJ9t89i68YFkgHr2ODbPcZd3gussHgIb4v3YjJ6vjiL60= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352400; 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=aVfewT5oqxl5XRbR+Ge9bAyfffuwHEAqWZcBLF/U4Yk=; b=IgFmTa9IehWQTjpsf8seXf55AsBTfqKDrj+Pr8onymvOM+qSrPm8cEM0uUeznfek4P7aAgMie363nOU/9jHTb8vCqpNq6gyvGrXU9i6K4DQi4z2CqPVsPy9BOKxqSgH1fSU7WyPyDiaeQeiQmiseUcmXdrfd83dl0Kq5YK4jTII= 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 1782352400883285.5097282841773; Wed, 24 Jun 2026 18:53:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGE-0004rt-P6; Wed, 24 Jun 2026 21:52:10 -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 1wcZGA-0004o9-GK for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:06 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZG8-0008RS-Jt for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:06 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2c6d3851e09so6083745ad.0 for ; Wed, 24 Jun 2026 18:52:03 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352323; x=1782957123; 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=aVfewT5oqxl5XRbR+Ge9bAyfffuwHEAqWZcBLF/U4Yk=; b=h+tIPGhlmsrPPK9rz8nkTFDbBc+CIK38aB6vdexyu0rl4ruGCUnKyNajJDtJ1upOtC QRk+/unURlXPqGRONf8BvyXghtV8A6E78JrnR8C1wJDU9p6SdV04M7bDI+JglqYWgKvh KKhX2W3Fdp9s5LR6Uqe2KqXLFueQjUe/gp5YKp2egro7V0KZ7TCjVWBxONgc6fqZraAQ tuKYmxpgQO8zt4h2qQREtUh9khLhk+vzap+qDEMNuJPC2lP/GTe/6L0HnKj45Wi7ZyAq sOYN8Mc0JzHUGwN5ByoQsOni6cny5eka0NB6Xz7tHIlK75JdzmhRKnNIQuV1oK6MzWHJ Io1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352323; x=1782957123; 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=aVfewT5oqxl5XRbR+Ge9bAyfffuwHEAqWZcBLF/U4Yk=; b=Jv/YsIvH3pI9euUV2lTkusxFGI70j7b+lIvuRB7ahTZY08gbSfZltcGAXBohPuriwu QHY7RscS1Yeu7CnLg0+ZdSdya9lLNPS1mg39mbHim2hIZTNWi8Tk3jd3qbts638tob87 tgT+gflT9H4oHVvVshyngM7EfWSnYqKqx7M3R8hq4RHVWg+jhMhW5D6acbuTJ5qH7OPH m9MWmCKRLGrHrstzr2JVtgbcOVzdKsZrJ2FJ6PxcmZ6fRw7ZziBbFpkgYiEV0RXgKP/P ht+S7O+rslLqmig8uxWrOPd33SQFLgRAH+JlwjChgtH2Lf1YtZO/Eho8pTHKzlavaTPt Z/9Q== X-Gm-Message-State: AOJu0Ywb0XctcXWWmMXH7eEIJxnjfBCW4oRsNWJsiYZ7evF5oumNvz/m S8iB2oHKHYoOLCltAvj6vPbSWF0ul7vT1vnPoTqKwODUE4gIKBqmKcg8yatPqqheHDe3xwERYgN 335kk X-Gm-Gg: AfdE7cnHPsh3jK5TA2MlGl934NjVFK1ANPjUKk3I0lS90hetqxzNZqarZwQQ4kpeK87 OrGEQSKqPqkIF53zsCqJ0Zg7HLCMfKOFIOyVy5yihvPnRwzUDPZ86QVdi3IM2FeduCwfDvgAqYl S7qOa1zeWRev5rLFbPFs5IoIHICXeOm4ncmdhXoEzLFn7+66KrMQsGGKh/zAGCSAzU45JygzeMA ZWNMdWEcTrOZM65Zj7ZEzoDQ9bFv/DQdw/heyaAF1Zqbx8Lmw3pwW49F5RNSDJHnice4VHID4Jb ApJqYMkmGe3lHV2BQB9rUBteo5fhkmuEM1ppVr4vn6U2RO1ksxWt2dLGPxwCuZhA32FBByr+DtM DSWhbB9cNYUruIHCqWmWYzdd2Y9eDrbTqQ1t8OAPTq+jwc8aK+/PWQesJzvSBlYXElFKSE4780h hY6n3VQMZYVlWUBEYVG9bpq1Y7xyPbnkx3fPe+S8RxGisFR/sEtg== X-Received: by 2002:a17:902:e890:b0:2c6:e1f7:b4d5 with SMTP id d9443c01a7336-2c7fc9d6f45mr7337775ad.27.1782352322887; Wed, 24 Jun 2026 18:52:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 03/10] target/arm: Implement FMLAL (multiple, multiple and single, FP8 to FP16) Date: Wed, 24 Jun 2026 18:51:51 -0700 Message-ID: <20260625015159.719300-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.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: 1782352402158158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 9 +++++++++ target/arm/tcg/sme.decode | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 7aa270d3ec..7cb7b71e74 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1121,6 +1121,15 @@ static bool do_fmlall_fp8(DisasContext *s, arg_azz_n= *a, bool multi) 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_fp8(DisasContext *s, arg_azz_n *a, bool multi) +{ + return do_azz_acc_fp8(s, a->n, 2, a->rv, a->off, a->zn, a->zm, + 0, 0, multi, gen_helper_gvec_fmla_hb); +} + +TRANS_FEAT(FMLAL_n1_hb, aa64_sme_f8f16, do_fmlal_fp8, a, false) +TRANS_FEAT(FMLAL_nn_hb, aa64_sme_f8f16, do_fmlal_fp8, a, true) + 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 90ee161461..b735f3de82 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -452,6 +452,10 @@ FMLALL_n1_b 11000001 001 1 .... 0 .. 000 ..... 000= 1 . @azz_nx1_o1x4 n=3D4 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 =20 +FMLAL_n1_hb 11000001 001 1 .... 0 .. 011 ..... 00 ... @azz_nx1_o3x2 = n=3D1 +FMLAL_n1_hb 11000001 001 0 .... 0 .. 010 ..... 001 .. @azz_nx1_o2x2 = n=3D2 +FMLAL_n1_hb 11000001 001 1 .... 0 .. 010 ..... 001 .. @azz_nx1_o2x2 = n=3D4 + ### SME2 Multi-vector Multiple Array Vectors =20 %zn_ax2 6:4 !function=3Dtimes_2 @@ -578,6 +582,9 @@ FMLALL_nn_b 11000001 101 ...01 0 .. 000 ...01 0000 = . @azz_4x4_o1x4 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 =20 +FMLAL_nn_hb 11000001 101 ....0 0 .. 010 ....1 000 .. @azz_2x2_o2x2 +FMLAL_nn_hb 11000001 101 ...01 0 .. 010 ...01 000 .. @azz_4x4_o2x2 + &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 11:53:08 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=1782352426; cv=none; d=zohomail.com; s=zohoarc; b=YbfyMy12nsMs0bs8FpbGz405T8BdTPsGI6xsYJVz+oFvxl+HWZVV2dYm3LiTbt3VnUgBfpZ70VY8mM8H4LhzLYvd+JY0ahp6cd9o68PEqdVmhxUeqlO6JK1zSShM1rTZvDARTPfmrcnpTDcSnK7/d+Bi+83D0IdG3vPUQQh4wgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352426; 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=uhQjgUZ4wEXX+w1LARBO37AImF6ObWFM7kPnocwBdvc=; b=f9xaClO1pVxGby6+EYYfKpqgceH6byM43sdcv2e4M9/WLzW6yPa73czN0wiMFM36z/ZJWnmzFa2pEfvTXsb2WDO1uZNFCoTDyTu7uWSXWx1x0ZVipPvllsm+J4lLQg+195iN55L/4fVsFxoIr18E3pjckLujXs7Vzz49VZXLbHA= 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 1782352426576346.4220367628732; Wed, 24 Jun 2026 18:53:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGC-0004ps-SP; Wed, 24 Jun 2026 21:52:08 -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 1wcZGB-0004od-2g for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:07 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZG9-0008Rk-DA for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:06 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2c0b9328c4aso9621455ad.0 for ; Wed, 24 Jun 2026 18:52:04 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352324; x=1782957124; 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=uhQjgUZ4wEXX+w1LARBO37AImF6ObWFM7kPnocwBdvc=; b=rqklORS22tDupVfuHOIqGtpsUUd5rqI4TYUHMYG2EFr6g1qNFaqBQGoEpuQNoxE6Xq GI5HEHHzD+Xu28lNxsRkWroIBsGPFjgX6co+JV0jeFcJtqkRgJGMOVtUWB255tz4OCSp 6KraC092sxYdD96M2+7qE4w8Nk+zssLLghg+1qqCgqTPfK1oNt7rkEVHkgZWAwTdJZ5J RFMTRsFIFFoqlfyB4bd1LaVYmwKD7hFPzvEuZVEkw6oHcZD1s9Wdv+F/dltzV6AGk21Y vAZB0WeXJLOdkoRrcL/S+3k/Cl6ZY9KNJCsIYutHA7TxL45nsGQwrJs3O37F89uLAv1U JIxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352324; x=1782957124; 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=uhQjgUZ4wEXX+w1LARBO37AImF6ObWFM7kPnocwBdvc=; b=GTKxgqws4VGwosSUHVtrTyG7pkUbaqIM6mQi2RCeuKbKqBxR5CdmTjlfzLORfRG3iX aDa0YJZqwt5JJhaOSp8PCSCZLsi18aNS25dFJRQDzvCMlp8XeS+09Sfpv8GCS0GY94kn MKSJ2DoZN0MlqTaXXGTT4BBCYjELBDE4yPvkHuNO5cuf5TY6mr4Uj0bj8gMcerAoercw CVEWA5lZfSKXV4IJw5wqnX+Ne8vqp7GKfpWtKzdZCqtl4CntiERpSca119Lj65vA+Hd1 HfrEsfF/s4NWJL4+MqJlcydpRmagdhJTQcFrkugirrVCkkhVRMV7uOM0hif5G6RpflI6 U32A== X-Gm-Message-State: AOJu0YzAvKpWAzgG1dBsqjssjBukaFYBbuAwr4vCgrrduX0aJhpPyWyv Mibblmc3omexbKCXAc3sE0+iAtW2KeGD3Q6Al+oc5Y/xi7hFXmOy+J8cScksaVAADIy52Wfs3hA phO2G X-Gm-Gg: AfdE7ckmCMaklWs/J4+CQ96ciW4+OOgoaFi/Jm3BYx2qaE1bWzR6KgdhsXvhZ+jniah CHBY5ubKRgUkA3dqZmKZ22ZAMC7p973Kx/g2R/oAR0hSBwABtYpC+PDc4pvxnHFdJ08pRwXymLe AZlKjfL0dAMXcriItKd4W/30tB7T0StHAWx0wkeXXrweL2EtZIM5pspcrGnqaq2GhjSiVPxWJZQ luC8tY58DiZLIZ5dHesQMCsSV7GZhjbSWNL5dFwoZ3FQyaHm+ivvWdbxXoKXNR/kRBOErxbpMoH zKBnyoXH/v/dMeQuPoUVFaI9LNRXSYfvsY+sAwYXA1YMX/mPH4M7vg/jWes3ny+uwqTHCl/h9ZY QWiZXv6z/ZsLgC0Cjyl6sh6sSU3F42ma/frbOFr4C6f69ycyynRJJF2Dyl3f8ayEBwzmLtUqXhF umzXZpuyaHvIzI+VBs9GzPtdQ7ZXl6r86Tq3m1y2K3J/GmGZAI7Q== X-Received: by 2002:a17:902:e744:b0:2c7:9b17:6676 with SMTP id d9443c01a7336-2c7fc75a664mr7204515ad.23.1782352323612; Wed, 24 Jun 2026 18:52:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 04/10] target/arm: Implement FMLAL (multiple and indexed, FP8 to FP16) Date: Wed, 24 Jun 2026 18:51:52 -0700 Message-ID: <20260625015159.719300-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::62d; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62d.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: 1782352428598158500 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 | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 7cb7b71e74..98f6eb0b70 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1140,6 +1140,10 @@ static bool do_fmlal_nx(DisasContext *s, arg_azx_n *= a, bool sub) TRANS_FEAT(FMLAL_nx_sh, aa64_sme2, do_fmlal_nx, a, false) TRANS_FEAT(FMLSL_nx_sh, aa64_sme2, do_fmlal_nx, a, true) =20 +TRANS_FEAT(FMLAL_nx_hb, aa64_sme_f8f16, do_azz_acc_fp8, + a->n, 2, a->rv, a->off, a->zn, a->zm, + a->idx << 2, 0, false, gen_helper_gvec_fmla_idx_hb) + static bool do_bfmlal(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, diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index b735f3de82..c6e22c4999 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -791,6 +791,19 @@ 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 +%idx4_15_10_3 15:1 10:2 3:1 +%idx4_10_2 10:2 2:2 +@azx_1x1_i4_o3x2 ........ .... zm:4 . .. . .. zn:5 .. ... \ + &azx_n n=3D1 rv=3D%mova_rv off=3D%off3_x2 idx=3D%idx4_15_= 10_3 +@azx_2x2_i4_o3x2 ........ .... zm:4 . .. . .. .... .. .. .. \ + &azx_n n=3D2 rv=3D%mova_rv zn=3D%zn_ax2 off=3D%off2_x2 id= x=3D%idx4_10_2 +@azx_4x4_i4_o3x2 ........ .... zm:4 . .. . .. ... ... .. .. \ + &azx_n n=3D4 rv=3D%mova_rv zn=3D%zn_ax4 off=3D%off2_x2 id= x=3D%idx4_10_2 + +FMLAL_nx_hb 11000001 1100 .... . .. 0.. ..... 0. ... @azx_1x1_i4_o3= x2 +FMLAL_nx_hb 11000001 1001 .... 0 .. 1.. ....1 1.. .. @azx_2x2_i4_o3= x2 +FMLAL_nx_hb 11000001 1001 .... 1 .. 1.. ...01 0.. .. @azx_4x4_i4_o3= x2 + %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 --=20 2.43.0 From nobody Sun Jul 26 11:53:08 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=1782352433; cv=none; d=zohomail.com; s=zohoarc; b=gvIepWsBI0AWLV0x1/P/1wVtswTPOsXWRpR6lzamIpGh134dPieOAXiWMo+2+jcF1PFXwfVthT2lXkHA+ZmBGHeuzmyDWvG35sZbkdm0yXmE5KYjEey52gJkIlizDPmUeoN406iVQ3xvRnqRWKUylG/4YmR1uxzpmT6odpGFGGQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352433; 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=kqjKU3c+leYpt9e4i6lXk+cebj4pDBPglHOLDzf6M38=; b=YMFwungbvH3eRKeU0zKzR345Sl6PHXT53TRi0oejAVimluotvMUukWK37fTtJP3yJlZlho4tx4AwK4DDNkyZpWPXbKvs/6HVo9MhKiZXgb5sDNxdwpXEbkKNFhaTlHzOjswBFgtqI2XpP0GLgYMkQcHcpwb9SBq6w7y1pznqVmo= 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 1782352433012887.9078783127983; Wed, 24 Jun 2026 18:53:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGF-0004st-Ic; Wed, 24 Jun 2026 21:52:11 -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 1wcZGB-0004pY-U1 for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:08 -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 1wcZGA-0008Rw-44 for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:07 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2c7f123b1acso9537415ad.0 for ; Wed, 24 Jun 2026 18:52:05 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352324; x=1782957124; 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=kqjKU3c+leYpt9e4i6lXk+cebj4pDBPglHOLDzf6M38=; b=xJE3q372X71ObTRssLlEAEQyQDgoPnBlKrbdYH7DBTBTrRq8LknIhulMX4fEkoPexZ XXvEEl8xXyvCpzXHsN8/iIVNAxGBI9gXdOw+LEPmbpvv/t+lEtbaIC+FPRyArJSyk1hA vFnifKCZd8UfhWZnDMGRTRV2cq6EKY4x7w4JBjGl6oLnC5M9A+YvyFFHSSlUgyssJ2rj AuG2Qt3i5UFg6cTYZc8vmWEOstdRgInqqsYR4fVhNoDaR5wvM2bQgCtKY2i42K9D/usT RCqifflTbOFteIyqAyv97l/7VZoRAujs0ppXJIyiJR8WJFKnkzZx8aP58QGa5PDFA62r QKiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352324; x=1782957124; 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=kqjKU3c+leYpt9e4i6lXk+cebj4pDBPglHOLDzf6M38=; b=QoHjTC/c63sIvcHt9iFiQgQv2R/cKtqxV95FV94QrOsN9E+FMmJqIoqOgqjIqMcx26 NyqEvDk6CPSHH1RWzMSaUCwecW4Q+rzRQ0ZXWTsUfvXLT4GnV3A9uzRyu+WJkzXBlFh7 SS7khrWpPcG8v1oAMdEhl3ufrexbFKQHVAH+C+tWGuaz51wT+54QZpKs6fWwwJChEVOF OdyEq5BwNPVuWswbVbuN9otEbDMvissaZ9+qG6ePYLsIKBUvd58rPaJnuCBhT83ijOgz 3l/1cnQ1fxhrWPluR8+tZfR/R2LAqftWUO0EBo4cnWWjFvXwvqM+mjNfxzeebjAXV1wJ Qvlg== X-Gm-Message-State: AOJu0Yz5Z8TdQEJIqDlVFFSHJlGMpJ3BqHsVqPnLasyRBsDqBAwv2GUk /0XGMvx8xN2dZlEtXVVapeOKqga6EvVIJQurI1BmfurbzzZTyNXceNUAUgnDI7P3c+CX7EfIKBJ XArjV X-Gm-Gg: AfdE7clSQErxK60DuDQaQ3oggeq+vtWVGnjSUkBy0wftwnptTHa+RVRv7j7IzJDoEWj vI/uj5vX5joA11Fjs+61crPtT5McTzCO/foc6Rf2JWMxfUKWDSI1QA4MYo3rUIILVfmdJKWa//j t/fqXwwBCcbYv1PpIuc4MrrNthqg8NKnxbNgictC8mjNLtrcjq+E+dsFVT3RlKczs+aVUV8Qbtu Gk6hpqIN4FMS2ueRgcYvKt+vgQ5CWovlnYNm5I9P6yTdT76B3VOzOJzooUndbCHFF0VFhvd3Poo lMwCdIpkzYO3UyONHZJOincLzMTPoqrQrMBtfa4fjnImAQaabPYegNi+nmc/TOuAFTw5mtvlQM8 ypq9E5m8WJyQU56hjjjuV4K3f2AFVImaZGO6ur8SMXplHFv6MM6+9M6tSWfWhUgruQ1tGnqjJHX 8qFUCblXyC1unJBg9AtrdCVG5N7hBpirMEfu3aLdZXsHw7QQBylg== X-Received: by 2002:a17:902:ffcb:b0:2c2:f675:32c5 with SMTP id d9443c01a7336-2c7fc73e595mr6490945ad.29.1782352324464; Wed, 24 Jun 2026 18:52:04 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 05/10] target/arm: Implement FDOT (multiple, multiple and single, FP8 to FP16) Date: Wed, 24 Jun 2026 18:51:53 -0700 Message-ID: <20260625015159.719300-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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: 1782352434289158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/tcg/translate-sme.c | 9 +++++++++ target/arm/tcg/sme.decode | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 98f6eb0b70..3174b10c30 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1196,6 +1196,15 @@ static bool do_fdot_fp8(DisasContext *s, arg_azz_n *= a, bool multi) 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_hb(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_hb); +} + +TRANS_FEAT(FDOT_n1_hb, aa64_sme_f8f16, do_fdot_hb, a, false) +TRANS_FEAT(FDOT_nn_hb, aa64_sme_f8f16, do_fdot_hb, a, true) + 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 c6e22c4999..fbf5f3720d 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -456,6 +456,9 @@ FMLAL_n1_hb 11000001 001 1 .... 0 .. 011 ..... 00 .= .. @azz_nx1_o3x2 n=3D1 FMLAL_n1_hb 11000001 001 0 .... 0 .. 010 ..... 001 .. @azz_nx1_o2x2 = n=3D2 FMLAL_n1_hb 11000001 001 1 .... 0 .. 010 ..... 001 .. @azz_nx1_o2x2 = n=3D4 =20 +FDOT_n1_hb 11000001 001 0 .... 0 .. 100 ..... 01 ... @azz_nx1_o3 n= =3D2 +FDOT_n1_hb 11000001 001 1 .... 0 .. 100 ..... 01 ... @azz_nx1_o3 n= =3D4 + ### SME2 Multi-vector Multiple Array Vectors =20 %zn_ax2 6:4 !function=3Dtimes_2 @@ -585,6 +588,9 @@ FDOT_nn_sb 11000001 101 ...01 0 .. 100 ...01 10 ..= . @azz_4x4_o3 FMLAL_nn_hb 11000001 101 ....0 0 .. 010 ....1 000 .. @azz_2x2_o2x2 FMLAL_nn_hb 11000001 101 ...01 0 .. 010 ...01 000 .. @azz_4x4_o2x2 =20 +FDOT_nn_hb 11000001 101 ....0 0 .. 100 ....1 00 ... @azz_2x2_o3 +FDOT_nn_hb 11000001 101 ...01 0 .. 100 ...01 00 ... @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 11:53:08 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=1782352399; cv=none; d=zohomail.com; s=zohoarc; b=bIERMIzutOFn0jaiCfd9e7IU9YAtl5S3P2sE1peDxEi5dApwAdLTFVVY943m/bpWaTxzL7TC11iZklnWAupcuGRH/5WXgfqQXKjRTI7gXHKzF3ZlhIR9rKwOdqTRY+R5A5/L1dADFVFyeOFyUxKGODnJTnUNLW1uh2VLhlf8b58= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352399; 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=uSEX6M+LuR7LcEv9aIVh0aQwDBcJsbG3KYJ9CrbzF90=; b=Ag+MPGmNHWc+9DLRWhGHarcGfPqZa0Egh9fIKSO+wGqy/DzgDlkwtIlKwyv+IVPB26odqpEknrFe/efPW6iGCrCL4pdYyzZjdarTJ8lPsnzzikP85BTbpqtn8ZIMlR8dmsmM8WH65TnUfSOReOs6hGOrAUuoUzS5U4K68rbbuNk= 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 1782352399237993.4714141779593; Wed, 24 Jun 2026 18:53:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGG-0004tQ-DH; Wed, 24 Jun 2026 21:52:12 -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 1wcZGC-0004pt-Nl for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:08 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZGB-0008SZ-2q for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:08 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2c6b67d5fa1so9708825ad.2 for ; Wed, 24 Jun 2026 18:52:06 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352325; x=1782957125; 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=uSEX6M+LuR7LcEv9aIVh0aQwDBcJsbG3KYJ9CrbzF90=; b=ao3TEACu0+RQbdbwhHLlsBiga6AvUhH6PZQXWtU+AZsjxoufYX7OJjTU//AbLcW0ak 2C/zXq8GNPdPNSmP9YokyIikW0in5cJIi3cYBpJ7oQgdbuPVptjy2C/+yclWj2AvWBEX qfND5BhQigh0SkktrIeyc6NYP0HolSBMyyNWoLxXI/HRVek15xFEcFBML7zp+QaMIAes l+1MEf+jx2FnLhVHtmEa/Htonr6/QBAXgOaIcRPXWrW0rGnLZ54V2t1iEExX/naPP+SL uYck8Jc80h4n1q1tnvas9gY3gF73j8Vfe57GN3NH+H6WAZXhVPhQJ2ylrgbksqzEwB/W PgVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352325; x=1782957125; 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=uSEX6M+LuR7LcEv9aIVh0aQwDBcJsbG3KYJ9CrbzF90=; b=MllfttZaw7a9G1laX8yviaX81goatRNK5HLIRjS5E3dEb/fJFqfXK4l9RpNT4Ti2hn SupwPGts1dDBLo7/QA56No3KUWd845z2MQEs6nat4Wc1q7donzZQJGGEJKTTXwW4I7Ft Iw+87l/SC7JDT8QNP/01Y/IrKxboXkYIcArCaJ29yXRreZNGZbOLKfcU0Nk0pM290z/H 9YcBgzrOHmJjIkNqw69LBCOiqei+y8CrVkYeI6N6p8+DNAF3AOSmugOvIYLyA/H5xNZc 77Kn+bTfk1xwK0BiTaLskhEc9ui9V/cZlcgiBJ93f8ALKZAqxMSs8z0Xj1uKROiR9ao5 sRmw== X-Gm-Message-State: AOJu0YztnvSNrpOqIZpx/SHLdaOV1hmtPxtxTvoDQaeT2j+2he/4+EAn gn4ySTR46Pr+tihrSpFtXRqmao3PD5+4TFS3Te0BjUeuQ0G7NMgwBzRbtvntQVXyhsKixy0k9dO xQOcS X-Gm-Gg: AfdE7ckJ0eCqhQ2ey1Ye8ydYLVdRRW7UVCOcY6l6KVT/Q475pniVBXgfVREYVFcISY4 0GttyN9+Kik6s/FthVO4QDevGaynp1en/L6+oQsrJ0S5mHEehWLGpTpx7Gvxk1NzfaIMyotOQsU 5fnRGxPFqQr2rgbwHOCT/0DGVa6xYrprRF/8/5unV2Yi+eOhGMcf9NcneIA8wTomFgXinY9rg4y gQcRcj3nUNFyGsVcuJwKl/XC6fXws7OS3yrK5P7cHuSxYkrY9H4R336p9447fC3uHwhyOvK+w1a JaE2/DCbmJXWgS8xodiPt5mhaYqoLESmhU1OHPwob324JbdTfBUn/6teE7ZrDYA4XU1t0n1Lzih HN/9IoUl0gV4lKfuNhjI7fBHss39O+JE5wsshjYDTrhpckdY3l3CfdrciT0ONyRxU/9Q+SWBj6H LOlbxG+bLjGA9j69aaAqcSvvM/yC9AgVlcayZNwLWvxn+xNmAR4Q== X-Received: by 2002:a17:902:e943:b0:2bc:f1ef:2e64 with SMTP id d9443c01a7336-2c7fc69d8d7mr7197905ad.12.1782352325510; Wed, 24 Jun 2026 18:52:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 06/10] target/arm: Implement DOT (multiple and indexed, FP8 to FP16) Date: Wed, 24 Jun 2026 18:51:54 -0700 Message-ID: <20260625015159.719300-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::633; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x633.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: 1782352400148158500 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 3174b10c30..197274d00e 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1178,6 +1178,10 @@ 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) =20 +TRANS_FEAT(FDOT_nx_hb, aa64_sme_f8f16, do_azz_acc_fp8, + a->n, 1, a->rv, a->off, a->zn, a->zm, + a->idx, 0, false, gen_helper_gvec_fdot_idx_hb) + 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 fbf5f3720d..1dd3b7c8b2 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -810,6 +810,9 @@ FMLAL_nx_hb 11000001 1100 .... . .. 0.. ..... 0. ..= . @azx_1x1_i4_o3x2 FMLAL_nx_hb 11000001 1001 .... 0 .. 1.. ....1 1.. .. @azx_2x2_i4_o3= x2 FMLAL_nx_hb 11000001 1001 .... 1 .. 1.. ...01 0.. .. @azx_4x4_i4_o3= x2 =20 +FDOT_nx_hb 11000001 1101 .... 0 .. 0.. ....1 0. ... @azx_2x1_i3_o3 +FDOT_nx_hb 11000001 0001 .... 1 .. 1.. ...10 0. ... @azx_4x1_i3_o3 + %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 --=20 2.43.0 From nobody Sun Jul 26 11:53:08 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=1782352488; cv=none; d=zohomail.com; s=zohoarc; b=EYy3Mvm9w2Aj2BY+B/fTRn2FSXxiH+GJXJ9O1sZrFong2+yErOmbzHY6Q9kUBagBQPh3YC8GhnCcfVDEyXv9G1hv0+h13k5mS1+IECfX1Q0pp5YA5bGr2whv86KAVdNDQT+IBTORhxtnSxPo8kgMNuknyMRtg54J1aQrmynuRfw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352488; 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=xTjgAJNDQgrpdJWK35ZiRgETxbEW9h3Lx/7T/PIcGQU=; b=Pnx0HH/G12e5SZiTzjtzkGLmfWuzatiB1nGDx3100DS4k+Csyl4jwlxuBoRGiokv60H0qgU5iTDZxfvdH5yB7MsRGg4CXIGdqX7uz5Sl3Lzl6n0Ufkq04obHkzq7PR1YizIJOQ3PBs0Bqq7BcbGWFVZxmVUx290XH0BWjPYsfjw= 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 1782352488002883.437164799515; Wed, 24 Jun 2026 18:54:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGH-0004u6-1n; Wed, 24 Jun 2026 21:52:13 -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 1wcZGD-0004r3-Vb for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:10 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZGC-0008U8-5a for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:09 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-c88eb5e7713so626603a12.1 for ; Wed, 24 Jun 2026 18:52:07 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352326; x=1782957126; 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=xTjgAJNDQgrpdJWK35ZiRgETxbEW9h3Lx/7T/PIcGQU=; b=nSmV1gJFDXB5s0CgK+/2pG5DsmIe3mznHM7M73A66I6q05r3hlPD23HRL4OyG6DIdC Y4ObbdPoN6QrptrVSQHZOJXdj1Wp0zr3L1p1n70vGrijxP1f3WuoVH0V60xoyRPxzQBo 6R/4CTqYsGrg8oHf/x3Xwa/KC6bdcOlLdfZprTrohO4FCu6e2bllNJmWK60CmzrcisuQ JWCCNTMga3ekfzKWXDx/abVZvrDl2igW3J5wm9pbtmOJGzV7QN9rmQxXg0PgRcA2TLLd vUPnFf7tCdBuXtT9I/Zy2FKH7+04tNRjc1yntmGnxXD0kgAucisg0YmWTXFcnWZpHtoK TrJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352326; x=1782957126; 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=xTjgAJNDQgrpdJWK35ZiRgETxbEW9h3Lx/7T/PIcGQU=; b=SpdlNbvjBzIEswad4saNteAlP5ZkWa0B/dLSJBWamez9qYWbCZ6uqe9fRuVywue9kB Nt87Ih/ZSKVylFzq0cCOhpM07A1iOrMKBraRt1bbSBq1WaVcdKfNPTWZ0xnrUovK8E6f uLtO0ErS66iHM+eHMVTXzQjoZs8KZXYU2Dh6zvyD4RdfwgC0C3BoKUFjw17POykKxfFU w4JfwAmx2H2/K0E9xG4MUWKNG+eICPrXs/SgKak/sxa4WWs6yh2GsVDcPediva2zwO0q HFwuntB7d1sfgQbFg9u/6v4T8vH2VakJqQf4S75D488IuWacyZrnXPGx42ywKnQZv0qQ SvnQ== X-Gm-Message-State: AOJu0Yxrb8BJZGxi3n53dZMOy6HBnDSIRJFAXWSRIhDmeoGugOTcDlIt 9o20gX0U6AxgdGFkuAe6LZjVAk7w47LVzbGlES7vsbNKyJ2ctjg+8pLZvpNEv5TW04Ud189Bfhq CGXcM X-Gm-Gg: AfdE7cn9D9G9u+7hjcRB7UZ+eHHfDv6kdWxUYGJyikljbjXkGWEjRrxw0cFWiagTmPu xu1q1ulVkdw3gmJxpm4p2ObUxdmVLYbiL4p4KQXMnshwPkCvC103jxi2zpr3W3MIYBcMxI44h5e hW3A0fn9eKlRrS2+7O3dVhl08hrn6qFEy1fb/e4HwXuZKMTeCsGxdHUnCwKlYw5lrWPULfPvxRs mmBjXaI4l+KNjQQIfdTP5ue2Xzpj7aYKZflZHT9xNXOLGUYcjEr0JQNJ9T1Zs2LITmFaZbMZCvb LC6e6jfml8J7wJi1fCUM/keKbPTV6NQy/29HpB18NyEkQ0wr+BVsKjWLcJ5QHClxIbPJCYTAO+Z AXm7axHDYN30y18SLyagjZvMAyxAMJYte7VyDbfQywiIgTYweWsENv0wx/uajiVRFVWy1w8zQDh BC2RFO0f5SW3tYG/iz/x2FlSswRB3Ey8Ol9Of6HpchhJm4V6U8iw== X-Received: by 2002:a17:903:2f87:b0:2c0:dd75:e830 with SMTP id d9443c01a7336-2c7fc66300fmr6776565ad.5.1782352326307; Wed, 24 Jun 2026 18:52:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 07/10] target/arm: Implement FMOPA (widening, 2-way, FP8 to FP16) Date: Wed, 24 Jun 2026 18:51:55 -0700 Message-ID: <20260625015159.719300-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::52e; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52e.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: 1782352488611158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/helper-fp8-defs.h | 1 + target/arm/tcg/fp8_helper.c | 35 ++++++++++++++++++++++++++++++++ target/arm/tcg/translate-sme.c | 24 +++++++++++++--------- target/arm/tcg/sme.decode | 1 + 4 files changed, 51 insertions(+), 10 deletions(-) diff --git a/target/arm/tcg/helper-fp8-defs.h b/target/arm/tcg/helper-fp8-d= efs.h index ef1375fea7..05bf8dbdc2 100644 --- a/target/arm/tcg/helper-fp8-defs.h +++ b/target/arm/tcg/helper-fp8-defs.h @@ -40,5 +40,6 @@ 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_7(sme_fmopa_hb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr= , ptr, env, i32) =20 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 3c2d959099..5606f0fd8e 100644 --- a/target/arm/tcg/fp8_helper.c +++ b/target/arm/tcg/fp8_helper.c @@ -893,6 +893,41 @@ void HELPER(sme_fmopa_sb)(void *vza, void *vzn, void *= vzm, void *vpn, } } =20 +void HELPER(sme_fmopa_hb)(void *vza, void *vzn, void *vzm, void *vpn, + void *vpm, CPUARMState *env, uint32_t desc) +{ + FP8MulContext ctx =3D fp8_mul_start(env, 0xf); + 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); + uint16_t n =3D *(uint16_t *)(vzn + H1_2(row)); + + n &=3D expand_pred_b(prow & 3); + + for (intptr_t col =3D 0; col < oprsz; ) { + uint16_t pcol =3D pm[H2(col >> 4)]; + do { + if (prow & pcol & 0x3) { + uint16_t *a =3D vza_row + H1_2(col); + uint16_t m =3D *(uint16_t *)(vzm + H1_2(col)); + + m &=3D expand_pred_b(pcol & 3); + *a =3D f8dotadd_h(n, m, 2, *a, &ctx); + } + col +=3D 2; + pcol >>=3D 2; + } while (col & 15); + } + row +=3D 2; + prow >>=3D 2; + } while (row & 15); + } +} + void HELPER(sme_fvdot_idx_sb)(void *vd, void *vn, void *vm, CPUARMState *env, uint32_t desc) { diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 197274d00e..7eeac28480 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -616,25 +616,29 @@ TRANS_FEAT(BFMOPA_w, aa64_sme, do_outprod_env, a, MO_= 32, : !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) +static bool do_outprod_fp8(DisasContext *s, arg_op *a, MemOp esz, + gen_helper_gvec_5_ptr *fn) { - 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); =20 - 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)); + TCGv_ptr za =3D get_tile(s, esz, a->zad); + TCGv_ptr zn =3D vec_full_reg_ptr(s, a->zn); + TCGv_ptr zm =3D vec_full_reg_ptr(s, a->zm); + TCGv_ptr pn =3D pred_full_reg_ptr(s, a->pn); + TCGv_ptr pm =3D pred_full_reg_ptr(s, a->pm); + + fn(za, zn, zm, pn, pm, tcg_env, tcg_constant_i32(desc)); } return true; } =20 +TRANS_FEAT(FMOPA_sb, aa64_sme_f8f32, do_outprod_fp8, + a, MO_32, gen_helper_sme_fmopa_sb) +TRANS_FEAT(FMOPA_hb, aa64_sme_f8f16, do_outprod_fp8, + a, MO_16, gen_helper_sme_fmopa_hb) + 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 1dd3b7c8b2..755d5f00d0 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -199,6 +199,7 @@ 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 +FMOPA_hb 10000000 101 zm:5 pm:3 pn:3 zn:5 0100 zad:1 &op sub=3D0 =20 SMOPA_s 1010000 0 10 0 ..... ... ... ..... . 00 .. @op_32 SUMOPA_s 1010000 0 10 1 ..... ... ... ..... . 00 .. @op_32 --=20 2.43.0 From nobody Sun Jul 26 11:53:08 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=1782352400; cv=none; d=zohomail.com; s=zohoarc; b=ECXM6yedakmO3zKu5EICvrxSouMGx/rlMDvR7h1oS8epAQ444luie+1eJnup9/sB4yBoE6iWISwjW+/lU1vI5WYQczKvdCyY7KcNKNjiXy+nmnDAUWIdpEp7koZ8S7Riub+sH+hAi0DvCqyaoO5ukYAenOfanrE6Fo4AJiH+3V8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352400; 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=CXQBevF1dOv7VxOG8cDP5suXTbi/pSPJLgFi4iYWbMQ=; b=FC/kODhgzADNcSQcaLO9IWag+azQ1+tduPCVCeoUDowmWeGlCX2jrseQKetHrDVUVWq9MHdS+S81ANvUywEoF2fXKSzdJFXVrRiuerPtckEU+UQC5CmWxS/nF7vpywSisN4vcIsacVfVezDvp0WYb/+46CDq3euXWdMH6fzmPY0= 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 1782352400884843.1458655042054; Wed, 24 Jun 2026 18:53:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGI-0004vb-Gp; Wed, 24 Jun 2026 21:52: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 1wcZGE-0004r6-3V for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:10 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZGC-0008UX-JX for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:09 -0400 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-c85b73ffb52so677830a12.3 for ; Wed, 24 Jun 2026 18:52:08 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352327; x=1782957127; 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=CXQBevF1dOv7VxOG8cDP5suXTbi/pSPJLgFi4iYWbMQ=; b=fJOVOCjsH76X4Zqk4ztHARRZVKJEHQoYTo5GOc0P88wT8Sxft8AotQk7SaDhYw9iQP vgN9IXcLA3UiTH06UstVV8ZmwNXC+TigG1MEjsQAVaORWtkAFvaR8oWgok+0PTgEP717 m4H7c9zu0k706qG6x/uxAbDs4gKQitZM0LXauO3C/7x/fRBn1kwefAKq7CM5UCiUEPvi /2p22xkTd+BEqf0HVRC5/sqIGOOIAcKvBZSSgsArcQBUQ1bjsuhTu/A+d9PKGQId3bhS y2BKpFwFQcqlhJO3F+RjDmpKHDEJ3NbKANxcwRRRiSlObDsV4dx/9u3wHcg5ZGbBlJda ouBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352327; x=1782957127; 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=CXQBevF1dOv7VxOG8cDP5suXTbi/pSPJLgFi4iYWbMQ=; b=fMkyY9doDGn3CjWCgxcrT6rSD+wrrAAO90E7GGUdc9ca4/NZ+H3KODmiWuLVEhLVYA Q02WioeWIkVuErfZROvqTkKqNU7hBlgrIbuAK6rep3v2usV0CJt1dZ4pcf9ws4sYDjCK BRmBYpyolIp1sR2UizANtdvoGlqSTg31VQy76381gC0A0EnHzD8s/4W10YP8GhEAIZ5r GknPIFj1TCHbxLxC79fTPAAewhKdJ5+s46e4ab9s4hl+OSnGoNNeXb0of7gp1/rF+VRk Uob6SuIhavpzMtiAEXHGtBiZkyAmstIEOtbhtaKn8krdI53tGR5q/urAj2fFWV64hVxQ lREQ== X-Gm-Message-State: AOJu0YzNgjaphnMfSLKf78fXQvLqGgFP6tldJWWKtaxYEzIsun6iUfQW +cGWPayxvnERumJyrM8u91qj2NTsJCl7R9pMo3yS07rjhQgYEyxHTFzIunpBIUZ0veFY4YwataQ obuJm X-Gm-Gg: AfdE7cnbXoR/AQMjMmkDAjSigPGUPm3nK6djzp+0XxcOgg1ozlPwy1t4mS0DApebRzc puRsznStdgPZ7bq01mknC65VzXO8zhsUEO2DBPVaKOqUA8k2N3vvmap9H5ebGGGBhMZdQ7FtCIl im2/rZHAE6Ikx2KnPpYkdfLq1pI5/Xjs7/ae7Sx+9LHqb9hGw+5bmQ+TCizJAuqSof5/l7S9wc+ D58DBD7NKJ2ZDSo7DrQvub4nhHKrr7uBIYz/F8VinD3whrdsIfA8494CFlbb8rkmzIRKNlprLvr 9If33fa/BNc33wBuFe5DqEe2bY7Vdgf5+41w+luhzGPiyBtpsCMQBheiKOJ73v42Ye3BU3F2D2a reel7xpP7w4+tbIFtcB05iEsiuDUlcQAB0FuyV6dlr6geUDb51Zq04eSPcwg4kf5Muo5qGlFfqd FM5dYUZGVlSBhnxtkJdbTlcOCHY7RdWh09WCu+Mo1ybsAtmPRKoA== X-Received: by 2002:a17:902:eccd:b0:2c7:9ba7:a39f with SMTP id d9443c01a7336-2c7fc70a33cmr6083765ad.17.1782352326949; Wed, 24 Jun 2026 18:52:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 08/10] target/arm: Rename FVDOT pattern Date: Wed, 24 Jun 2026 18:51:56 -0700 Message-ID: <20260625015159.719300-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::52c; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52c.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: 1782352402196158500 Content-Type: text/plain; charset="utf-8" Rename to FVDOT_sh so that we can introduce an insn of the same name from FEAT_SME_F8F16. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/translate-sme.c | 2 +- target/arm/tcg/sme.decode | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 7eeac28480..267a6b0d9b 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1260,7 +1260,7 @@ static bool do_vdot(DisasContext *s, arg_azx_n *a, ge= n_helper_gvec_4_ptr *fn) return true; } =20 -TRANS_FEAT(FVDOT, aa64_sme, do_vdot, a, gen_helper_sme2_fvdot_idx_h) +TRANS_FEAT(FVDOT_sh, 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) diff --git a/target/arm/tcg/sme.decode b/target/arm/tcg/sme.decode index 755d5f00d0..160cf130d4 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -662,7 +662,7 @@ FDOT_nx 11000001 0101 .... 1 .. 1 .. ...00 01 .= .. @azx_4x1_i2_o3 BFDOT_nx 11000001 0101 .... 0 .. 1 .. ....0 11 ... @azx_2x1_i2_o3 BFDOT_nx 11000001 0101 .... 1 .. 1 .. ...00 11 ... @azx_4x1_i2_o3 =20 -FVDOT 11000001 0101 .... 0 .. 0 .. ....0 01 ... @azx_2x1_i2_o3 +FVDOT_sh 11000001 0101 .... 0 .. 0 .. ....0 01 ... @azx_2x1_i2_o3 BFVDOT 11000001 0101 .... 0 .. 0 .. ....0 11 ... @azx_2x1_i2_o3 =20 SDOT_nx_2h 11000001 0101 .... 0 .. 1 .. ....0 00 ... @azx_2x1_i2_o3 --=20 2.43.0 From nobody Sun Jul 26 11:53:08 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=1782352400; cv=none; d=zohomail.com; s=zohoarc; b=eYeQ9FyJ/BesyuyATHcD8khKkCZ6AZjo1QbQTjVcDk+1jFgEb1JBXD1niMnL7br9fvWWDSmvmYD0eQyzOKTIBxkE4kVfUBiBGr4n+y8BZTvmdiwy7DxajiNpD9NITChqUHI+hXYotow37Q8BdvwQ/sBYOvAo6Oiz0alctn42d8c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352400; 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=VTCqTOITJlqgukL2kdByVePgUQQ/ifBjiiy5OVcoL3A=; b=KfScO0vro3vOxqPu+Q9wyyKJLx2iAxZ+3LwWt5pPWvP0bo6e1RXQlnrwl8G2MmkgX/URZGZsvwcxviJP/L06dfmn8C3z4omyoG0Bbipepqt6m4O/81Sa0y8Brc4Y/eSIEEeQFiuxulz9PflzfvBRfN2lkZ9+NEb7AGtuM5aGjf4= 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 1782352400715424.3443063998725; Wed, 24 Jun 2026 18:53:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGJ-0004vx-T6; Wed, 24 Jun 2026 21:52: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 1wcZGF-0004sP-44 for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:11 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZGC-0008Us-Ue for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:10 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2c7f11646c3so6352535ad.3 for ; Wed, 24 Jun 2026 18:52:08 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352328; x=1782957128; 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=VTCqTOITJlqgukL2kdByVePgUQQ/ifBjiiy5OVcoL3A=; b=d11XCMFWDYO7qjDNjEp6aPOifcZyBFExcojiAGiIhecCD4tOJFqlop7GjPHDn3/AdY upa5DgpHIuPiXDsmbGmxKVe9cb9KF43wTm2g93nzaRotlAFyFLIKK/7bLShjOJ45yPUr 25K1jKVd2VIPZI9TyvUTa3WclClDt4BF9x+RgW6gxMIyx+xwNbhOm3UBQma/7y6SD84K r5GkHEm8tiRcH+B66G7y6NZfU0xtBViasEBFhfi314cTa0pA9lUP0UrWcLE5SEaHHKW6 LEQVjs5u22OpS/HCFii239cOPmVJeUMsdPKcHvbNiomo6PfRfWJE4Ikan+9/DBrXIC7q bxqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352328; x=1782957128; 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=VTCqTOITJlqgukL2kdByVePgUQQ/ifBjiiy5OVcoL3A=; b=nrr/mD40b6koaVF6mdIXdtb5KTTwD17YGiHfbAEg9KERx0Soin2sdKTsG7/hcqXpUQ jyLL0TmzWhUoi8gWCUa3A7YgaN9o4Hd0llT0siUa3KEOFzKminbbRB3hrgnUVixJi0eN SVcetaBd5wxv6iUemnjJyn5YK+iekTapEJp7Dv/EZKQFXbZnND+Uk37RWCUCmlLPpPnB oO9AoX5E3NVk/3nRebBMQdMho1BHgH5++YjBOqfcoOlJis7xUACgIJBjCumb62n5X8vv ZU6NTCXP4Yq847TSvvFQDYk7ugSOYaOTXXyAmMWJsn6f4sbaJC1SKuDMRdvygOH6QvJw 5Uqg== X-Gm-Message-State: AOJu0YyiG8DzuE9znU3zRklvXenJPBN/6+vdJB2bjzQdME7wRjhi69GQ n9Atr3s8I0hppL4cVDU27toQUXTEmAswRa5o2/Dyo8yTWEdrP31CsciwBFAW/U9SXB5ehaaO/gk YkwNV X-Gm-Gg: AfdE7cnaTtMP9Pqcus+9FVaOpq/aUN+YWjwuZ72FpF2B5Wr4vpzVi7MJE/Iwh6pvN6X JHfy1qM10I1b6+OQGybEWtnGFRjMwnO6i2xNqoWRpAdRcgQmJcJ591r7wH0P3WfHAC0QJwLRenU HShOCDNniMfw108x/3trwuzPASYSRDSyWIChOQmriTO5GlnZ4EwQpR/0xUogpt2DKvgtYnUab9W RCIPRDQMaBzcXPvJiRMiZQ4PrrSE+jePDeWbx9FXlE0W6wBpSxq4lzON3iAR+S5JojUK4dBBCqh roE9y0BMOxrentpu4fyqIJSh40ScghbgWzjQZACz5uVulaVolojR7xYhy+N0ZKunCTxeYJTg1wZ FJajc2lZa39ZVn63J52xFS4sJs/xPiixcLVH8Oxm6mJHCGwxsLtfGWqsiwDse6XtbDqL7AuD9ne adtAGq+F9gQzTH0mOnt9lhWuSCTmDMdAMfIZpTA6xsrBwKnkqYwtlY4/RIT0mH X-Received: by 2002:a17:903:1a10:b0:2c2:245a:3366 with SMTP id d9443c01a7336-2c7fc76c3dfmr6751155ad.27.1782352327576; Wed, 24 Jun 2026 18:52:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 09/10] target/arm: Implement FVDOT (FP8 to FP16) Date: Wed, 24 Jun 2026 18:51:57 -0700 Message-ID: <20260625015159.719300-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.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: 1782352402160158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- target/arm/tcg/helper-fp8-defs.h | 1 + target/arm/tcg/fp8_helper.c | 23 +++++++++++++++++++++++ target/arm/tcg/translate-sme.c | 4 ++++ target/arm/tcg/sme.decode | 2 ++ 4 files changed, 30 insertions(+) diff --git a/target/arm/tcg/helper-fp8-defs.h b/target/arm/tcg/helper-fp8-d= efs.h index 05bf8dbdc2..126dcadf77 100644 --- a/target/arm/tcg/helper-fp8-defs.h +++ b/target/arm/tcg/helper-fp8-defs.h @@ -43,3 +43,4 @@ DEF_HELPER_FLAGS_7(sme_fmopa_sb, TCG_CALL_NO_RWG, void, p= tr, ptr, ptr, ptr, ptr, DEF_HELPER_FLAGS_7(sme_fmopa_hb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr= , ptr, env, i32) =20 DEF_HELPER_FLAGS_5(sme_fvdot_idx_sb, TCG_CALL_NO_RWG, void, ptr, ptr, ptr,= env, i32) +DEF_HELPER_FLAGS_5(sme_fvdot_idx_hb, 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 5606f0fd8e..e1dcc2b70f 100644 --- a/target/arm/tcg/fp8_helper.c +++ b/target/arm/tcg/fp8_helper.c @@ -950,3 +950,26 @@ void HELPER(sme_fvdot_idx_sb)(void *vd, void *vn, void= *vm, } while (++i & 3); } while (i < elements); } + +void HELPER(sme_fvdot_idx_hb)(void *vd, void *vn, void *vm, + CPUARMState *env, uint32_t desc) +{ + FP8MulContext ctx =3D fp8_mul_start(env, 0xf); + intptr_t oprsz =3D simd_maxsz(desc); + intptr_t elements =3D oprsz / sizeof(float32); + int idx_n =3D extract32(desc, SIMD_DATA_SHIFT, 1); + int idx_m =3D extract32(desc, SIMD_DATA_SHIFT + 1, 3); + float16 *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[H2(i)] =3D f8dotadd_h(nn, mm, 2, d[H2(i)], &ctx); + } while (++i & 7); + } while (i < elements); +} diff --git a/target/arm/tcg/translate-sme.c b/target/arm/tcg/translate-sme.c index 267a6b0d9b..ff5554eefb 100644 --- a/target/arm/tcg/translate-sme.c +++ b/target/arm/tcg/translate-sme.c @@ -1273,6 +1273,10 @@ static bool do_fvdot_sb(DisasContext *s, arg_azx_n *= a, bool top) TRANS_FEAT(FVDOTB_sb, aa64_sme_f8f32, do_fvdot_sb, a, false) TRANS_FEAT(FVDOTT_sb, aa64_sme_f8f32, do_fvdot_sb, a, true) =20 +TRANS_FEAT(FVDOT_hb, aa64_sme_f8f16, do_azz_acc_fp8, + a->n, 2, a->rv, a->off, a->zn, a->zm, + (a->idx << 1), 0, false, gen_helper_sme_fvdot_idx_hb) + 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 160cf130d4..3a65e1ad4b 100644 --- a/target/arm/tcg/sme.decode +++ b/target/arm/tcg/sme.decode @@ -821,6 +821,8 @@ FDOT_nx_hb 11000001 0001 .... 1 .. 1.. ...10 0. ..= . @azx_4x1_i3_o3 FVDOTB_sb 11000001 1101 .... 0 .. 01. ....0 0. ... @azx_4x2_i2_o3 FVDOTT_sb 11000001 1101 .... 0 .. 01. ....0 1. ... @azx_4x2_i2_o3 =20 +FVDOT_hb 11000001 1101 .... 0 .. 1.. ....1 0. ... @azx_2x1_i3_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 11:53:08 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=1782352409; cv=none; d=zohomail.com; s=zohoarc; b=EC7hkgPrGhKsyX375VtMmzkOmaXoLh8tLhelAXX5gYCI+LEbe2ijnIviV6cvkuQxIzBrHh4TvEA4c10UV6Vl/fxjGV/6xtP1haWyBNcFXOlKMiEkQ2NvaD+i0lwX8jYYKDPvNkLjDRJbmZfal1HeHgjWIP8TeaEZaikLqzva55A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782352409; 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=w7sch0aXO9sSrSQo97ZaQHXFizG0XuXDtfv+0zk4Dj8=; b=WN5EMggv/G5CzW9XCN6gas8D+ZragUGB/tsto3dhOU91Wh3QYppvVkFfN0q2W8Qviz2GoZXOx8fMVxh4+cnWVOFphqrryoNPV42KtG4BR1EUxtZnZwlgy16182qFxpiVzFZfIdZKL19Npghgu2aoBmYx/1com9G3ae+AgsIyiWA= 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 1782352409420739.5301379072264; Wed, 24 Jun 2026 18:53:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wcZGI-0004vY-Bs; Wed, 24 Jun 2026 21:52: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 1wcZGF-0004sn-F9 for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:11 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wcZGD-0008VI-Tf for qemu-devel@nongnu.org; Wed, 24 Jun 2026 21:52:11 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-37df72c9984so146863a91.3 for ; Wed, 24 Jun 2026 18:52:09 -0700 (PDT) Received: from stoup.. (174-21-129-215.tukw.qwest.net. [174.21.129.215]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7f5ac8908sm9060635ad.8.2026.06.24.18.52.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 18:52:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1782352328; x=1782957128; 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=w7sch0aXO9sSrSQo97ZaQHXFizG0XuXDtfv+0zk4Dj8=; b=peYgqFCMqnBLQXRxJFVjyICRoXX5H3Uww5Yodxxqer8wbPAJoUKjPxXMT0emh8bfJE raeUvimhkOB7dq+fjtc0+469g6gW2wlj/bRgtwv+VheIyL94P9GR8v+mfICkkuaKCU7Q BA7yaq/AMOdvmo3RPNUU8dezOwwIw/F4luZD2cCOaol0/3y601G9KDk4eynO/dgrh3oP f7gbwsgtiHSF7LOtnDwJVLnaPZAUvYGvvvAlg0dsYL7r7wI22QF25dNJx7KtG2ENUpRE O5gItNZ1kZum3ZOc6jQEdkQnODso11TtqplSPpbFzf3ovoi+aNIjDF825rHzPypSt5s+ vjcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782352328; x=1782957128; 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=w7sch0aXO9sSrSQo97ZaQHXFizG0XuXDtfv+0zk4Dj8=; b=RseIFBmDuv1GrULmzKTlOwS+AGX+b55atCr5MtYxeM4WWFawoHBYqfwJ//8naw8wqt tqOaMlLRswiLLD+Ne6xUHgpPAaSJpMJPbmN9U8TXtAQtTrUSVxV6G1IkM7TB96rU4zjz Ajs7zPnRqxz/gLEwuYa88T2ZvOkxUucG0qtrGMPVYGtLiYPOZJ1ETAFgKutuFdWmbSUb 6VB1PlHjLh9xASjOnLRObq7m7W+fdDM//83iHDFCkzUZdzTvocuGadxEDqq9w7NanXSl JQZr107X5yiTHnrNmp3dozI9P/CyhupPLNXSJwUmhoE6GQj1zEooT+dRAu6LUoJlDc2e kI6w== X-Gm-Message-State: AOJu0YxlQHahajIUke83cLOCv/yN0/NLBa4e97j6WlyAuBevI5AQCyFb m22jYUvjnsbaVW7bJTlUilRW5Bz4S/CPZatF5snKx0NZlyn3k4nK7Jt9VXw+l4VJWnEOQOCNjgW 7LvOv X-Gm-Gg: AfdE7cm1ZcQIZlImOsrLfhgHihqtsV4vV1hiCEsZl2jnyTAqI4Kwr2KR/uzIRSwx1JD HDd+U5SpNGlnI3fWOU2QC+hSo2iEmwhOzu3rwjq7rxuTTrOArqAtduibsgKrF3VQKZOwF67o+NC AY3xSCGIaFu10v1pukIZ+k7aMp/s5bTc1xELEon84+2FGIWKWoVq4Yc+MTdwHK2/p7t817gqDmM Q46cxPQLYIrzwb6kELzeu2voSQjFoIv37lGvKWWj+uDuxpXoaFu3SRAvhrV/KYxDNmSQbj6n2Hc FwmjNPjN0YlxTTPPGJ9+5BffFYWMpxlemnND9SGF8pzDRYfJoT6O8rYmR5LkaNlQ0xFQNwwr1rY ukf+zM1MhE+sxQdwzdaOj6gp8njJ73IVaqhADaGWDJKJ0pT6uk0j39Fy+30x1EPMsWUdkCE9CfN x4NFkLIzivBRrBDTKPj4oek/ceHJv9sx7V3zhkKQnS4BWnHUL3Qg== X-Received: by 2002:a17:902:f644:b0:2bf:211c:4980 with SMTP id d9443c01a7336-2c7fc8b106fmr6662345ad.35.1782352328271; Wed, 24 Jun 2026 18:52:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 10/10] target/arm: Enable FEAT_SME_F8F16 for -cpu max Date: Wed, 24 Jun 2026 18:51:58 -0700 Message-ID: <20260625015159.719300-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260625015159.719300-1-richard.henderson@linaro.org> References: <20260625015159.719300-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::102d; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.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: 1782352410231158500 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 20b9838520..42aeb29306 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -236,6 +236,7 @@ abi_ulong get_elf_hwcap2(CPUState *cs) 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); + GET_FEATURE_ID(aa64_sme_f8f16, ARM_HWCAP2_A64_SME_F8F16); =20 return hwcaps; } diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index e9eda8fbf1..42bff58e76 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1393,6 +1393,7 @@ void aarch64_max_tcg_initfn(Object *obj) 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, F8F16, 1); /* FEAT_SME_F8F16 */ 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 a3a1607ff9..7b85ec6146 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_F8F16 (SME2 ZA-targeting FP8 multiply-accumulate, dot product, = and outer product to half-precision instructions) - 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) --=20 2.43.0