[{"id":3688643,"web_url":"http://patchwork.ozlabs.org/comment/3688643/","msgid":"<92d5a546-7404-4866-a676-d970ce8bb6a1@linaro.org>","list_archive_url":null,"date":"2026-05-08T17:42:33","subject":"Re: [PATCH v3 07/32] target/mips: add Octeon multiplier state","submitter":{"id":72104,"url":"http://patchwork.ozlabs.org/api/people/72104/","name":"Richard Henderson","email":"richard.henderson@linaro.org"},"content":"On 5/8/26 10:12, James Hilliard wrote:\n> Add per-thread Octeon multiplier state for the MPL and P limb banks used\n> by the VMULU/VMM0/V3MULU instruction family.\n> \n> Keep the storage in uint64_t arrays and migrate it as an Octeon-only\n> subsection, so later instruction patches can update the architectural\n> multiplier state without mixing state layout changes with decode support.\n> \n> Signed-off-by: James Hilliard<james.hilliard1@gmail.com>\n> ---\n> Changes v2 -> v3:\n>    - Split the multiplier state out of the combined Octeon arithmetic and\n>      memory instruction patch.  (requested by Richard Henderson)\n> ---\n>   target/mips/cpu.h            |  4 ++++\n>   target/mips/system/machine.c | 33 +++++++++++++++++++++++++++++++++\n>   2 files changed, 37 insertions(+)\n\nReviewed-by: Richard Henderson <richard.henderson@linaro.org>\n\nr~","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=J+x02hM4;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBxL135fdz1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 03:43:19 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wLPDl-0004ft-HG; Fri, 08 May 2026 13:42:41 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wLPDi-0004fL-V3\n for qemu-devel@nongnu.org; Fri, 08 May 2026 13:42:38 -0400","from mail-ot1-x331.google.com ([2607:f8b0:4864:20::331])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wLPDh-000233-Ff\n for qemu-devel@nongnu.org; Fri, 08 May 2026 13:42:38 -0400","by mail-ot1-x331.google.com with SMTP id\n 46e09a7af769-7dccda31d3eso642627a34.3\n for <qemu-devel@nongnu.org>; Fri, 08 May 2026 10:42:36 -0700 (PDT)","from ?IPV6:2600:381:c938:6375:4b0a:aabe:cbe1:bd0c?\n ([2600:381:c938:6375:4b0a:aabe:cbe1:bd0c])\n by smtp.gmail.com with ESMTPSA id\n 46e09a7af769-7e367d50611sm1520216a34.16.2026.05.08.10.42.35\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 08 May 2026 10:42:35 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778262156; x=1778866956; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id:from\n :to:cc:subject:date:message-id:reply-to;\n bh=4XLsyZqQ3xY6Rp69A7lxD04CA7DaRt6RfiC8l54oNnM=;\n b=J+x02hM4iXCD7MJmkTn5tZUjd+QSIcJKgQVbZ2111D3xmLKAxst6pMUq/aK1AX5bO8\n XPsl+qCqvM90u/sxIMcswFiCQSSa0Tiue/2KaA/l6v2wgFwNcGqtqGHGlvi2+i47XdZ6\n BjmNdLT5Z74/K5Vn5HBGAqN5MnIS1awcCr4h3acvLWKnlNXn/ycOu1wd9hucDQv7fBRg\n Vp/7eqnJf4xChBgt6FWu0zy0oUUOIZUkNtTQFGi0Sp+iC49F3G62WAU/PnidpDIrqiYb\n LYYNsBnRX9J8AB+Gd1ADFZcgkzOD45GRuxk26t8zb1EHH4As3F+TBZL4rnN4SICsc3oB\n wOvQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778262156; x=1778866956;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=4XLsyZqQ3xY6Rp69A7lxD04CA7DaRt6RfiC8l54oNnM=;\n b=Ne9xmjsMQyNY2OnBUXqW/ArW5nU2OeM9KOgX4ofZWAbHntvmvfGavQE5iqgMWguSc8\n ybJZxoRUhNn1/4k3SI9b1BkZylfV1+zHgr0RiHnBitp+T/uSwnUdupkjNrjL4TZpelRg\n 1+rw4gOBrKagp3k9jkdlS2W9TloPkXxOCPrmKL+c5yShMZymJcGChCsH5guS9OJFJWE2\n +cESZfNwvamckmBPWnUwD3HqDcU+uUVHYbvoBLzmRRwxJ/azjdEInyeBzSvfOm4rolPU\n Cvo/8y6ronrVFKhu2NyyBZ0NbQwK2tVr50G7Mk27WlqUYkjpAbmGekRsqImh75ihbko4\n 5eEw==","X-Gm-Message-State":"AOJu0YydUrKWMAh7w9Syf0UkkrxkqbzQy5qKWvbjZ2MLkkZfC9fnVqdn\n ZcphdHgsN+wKlx2mhaBh/4K5a3B1+jUR5I4yPTNBX3PoidDF/Uogts5XT2mhcGvyJndftBKuHiA\n 7mzFy","X-Gm-Gg":"AeBDiesdjHowqXAUPevCxJWh8gx7dfelaB61p02ZGi+gONjxHiVvlJX50VBUnfTkYjM\n mzb3Ll+OMOWg8fpjJw2PdUuNJ+X44GqdP7Z0oSYdMMC4sbCeN9xLuVg/GVKYoRy4P5PFwwryDzY\n j5RTBQ+iVyaHJFe0DnBvQOXCxeefVVcLKhqfUuDAbjfdNDVg2YJJ9aJMmgiBOH9zuTXEczZLmW3\n FHC/G2+SuDn45nZz/a8sNtpAemm6y0s3hr3+ZkpAUGFxl7hcVsYl8TBW6g55A399psjwfRW4xhB\n zQZoVJCrbiU93uk9ToaLHLMOmfuo4lu9w7CCPMVhl58X713F373Dm37o4qd5h1wz2BSnB4WyFu9\n BkNsfVn0IFGA5sGMFzVcCJI0wU90MLU5v+2YqobZ8hZVkFkuenJ8ye1Ht3E6ACQz0YLMraO16Ok\n pNQVeaXabyNfXdUQrQoP0NVsSQqvl+M0k7Ya+3UtjeA0YzU4lsDd7+rgKQ2ZBengLNeGNKvyfRY\n KWAetX8ww==","X-Received":"by 2002:a05:6830:6734:b0:7dc:dd58:50c7 with SMTP id\n 46e09a7af769-7e1df0c4d92mr8647404a34.18.1778262155749;\n Fri, 08 May 2026 10:42:35 -0700 (PDT)","Message-ID":"<92d5a546-7404-4866-a676-d970ce8bb6a1@linaro.org>","Date":"Fri, 8 May 2026 12:42:33 -0500","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 07/32] target/mips: add Octeon multiplier state","To":"qemu-devel@nongnu.org","References":"\n <20260508-mips-octeon-missing-insns-v2-v3-0-bcbec96357d9@gmail.com>\n <20260508-mips-octeon-missing-insns-v2-v3-7-bcbec96357d9@gmail.com>","From":"Richard Henderson <richard.henderson@linaro.org>","Content-Language":"en-US","In-Reply-To":"\n <20260508-mips-octeon-missing-insns-v2-v3-7-bcbec96357d9@gmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::331;\n envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x331.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3688668,"web_url":"http://patchwork.ozlabs.org/comment/3688668/","msgid":"<9dc3ea46-ddee-45b3-ad1a-c6d00dd98dc7@linaro.org>","list_archive_url":null,"date":"2026-05-08T18:17:10","subject":"Re: [PATCH v3 07/32] target/mips: add Octeon multiplier state","submitter":{"id":72104,"url":"http://patchwork.ozlabs.org/api/people/72104/","name":"Richard Henderson","email":"richard.henderson@linaro.org"},"content":"On 5/8/26 10:12, James Hilliard wrote:\n> Add per-thread Octeon multiplier state for the MPL and P limb banks used\n> by the VMULU/VMM0/V3MULU instruction family.\n> \n> Keep the storage in uint64_t arrays and migrate it as an Octeon-only\n> subsection, so later instruction patches can update the architectural\n> multiplier state without mixing state layout changes with decode support.\n> \n> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>\n> ---\n> Changes v2 -> v3:\n>    - Split the multiplier state out of the combined Octeon arithmetic and\n>      memory instruction patch.  (requested by Richard Henderson)\n> ---\n>   target/mips/cpu.h            |  4 ++++\n>   target/mips/system/machine.c | 33 +++++++++++++++++++++++++++++++++\n>   2 files changed, 37 insertions(+)\n> \n> diff --git a/target/mips/cpu.h b/target/mips/cpu.h\n> index 84d12b77f9..c6d75c67ab 100644\n> --- a/target/mips/cpu.h\n> +++ b/target/mips/cpu.h\n> @@ -497,6 +497,10 @@ struct TCState {\n>       target_ulong CP0_TCScheFBack;\n>       int32_t CP0_Debug_tcstatus;\n>       target_ulong CP0_UserLocal;\n> +    struct {\n> +        uint64_t MPL[2 * 3];\n> +        uint64_t P[2 * 3];\n> +    } octeon;\n\nWhy are there 6 elements here?\nMy octeon documentation only says\n\nP0-P2 are 64-bit product registers. MPL0-MPL2 are 64-bit multiplier registers.  Which \nmakes sense in the context of v3mulu \"192-bit x 64-bit unsigned multiply and add yielding \na 256-bit result\".\n\nDid this get copied from something that used uint32_t?\n\n\nr~","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=dMR4b0jw;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBy676nyQz1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 04:18:06 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wLPlK-0002E8-5t; Fri, 08 May 2026 14:17:22 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wLPlH-0002Dr-5V\n for qemu-devel@nongnu.org; Fri, 08 May 2026 14:17:19 -0400","from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wLPlE-0003m3-7p\n for qemu-devel@nongnu.org; Fri, 08 May 2026 14:17:18 -0400","by mail-oi1-x22c.google.com with SMTP id\n 5614622812f47-479eb8bcacbso1454039b6e.1\n for <qemu-devel@nongnu.org>; Fri, 08 May 2026 11:17:14 -0700 (PDT)","from ?IPV6:2600:381:c938:6375:4b0a:aabe:cbe1:bd0c?\n ([2600:381:c938:6375:4b0a:aabe:cbe1:bd0c])\n by smtp.gmail.com with ESMTPSA id\n 5614622812f47-48061e6eb84sm3819825b6e.0.2026.05.08.11.17.11\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 08 May 2026 11:17:12 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778264233; x=1778869033; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id:from\n :to:cc:subject:date:message-id:reply-to;\n bh=Dxdv/jKRXhwISNYNxOvsvli7kzmYuX4/OTweKshkIgQ=;\n b=dMR4b0jw+NqUv3ZntvkYOyEyeBxnLIhp5FpQkko9zSTDa7fDwPtAYe4oUquuTQFLhj\n pDElADiR5z00Xh350ry7fyqzXVkEapt7nSjK/TxPgyPaFNCnXSS4cqD72A/N6SI6RUYQ\n +kercXvW82Wj8cZOHWMjpBnysMeyw1j0++6z02ZJmN3Rg2cUh+QuLyUYOLJQjrRdi8Y4\n 2qQ+Swgqut5c4iCE9mKOV+04w3YfAvn+9xDqpbOamfrcTVgaXeY+9S5zwaT7afX6HxU4\n IUtvaQBgi+IJcIe3SKboP0f6Ne2gXot4Jr8RcUNCe6OWR/2HW0B+eyuYKjpbebeaeOgu\n 3LYg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778264233; x=1778869033;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=Dxdv/jKRXhwISNYNxOvsvli7kzmYuX4/OTweKshkIgQ=;\n b=kfIi5PpD5pN5SYBkxNJxIeIGX3ncNGc0iUN/5GCynmI1Vc2cO4K5NFDO0YEHIdzCSp\n gAogmPeRaraTShR8E7mI/h2vAeYQ/0xzxKSzb2nho5lQ3k00rNpNJIC9YdJLWQi/DzTb\n 3G64nYN8G8zjj2cjymBzondBLOOdtmxn0B7F4nrXLreW2qi82j1j9NXQrxyBizTasXcg\n D2E8td4zvMWwnsAyklUjmPHSsFvRNdLmC5N0kuY7OuFB0PtQJ09QEk5fq1wSjrZk7+49\n U7I29QWib5tG1HznsewnnG3vEeeYuhs4CjYUqDWGKm/kzR8dV5zigqHZiMhYfSBSr647\n SxUg==","X-Gm-Message-State":"AOJu0YzYc1cbuwwUqqEIShgpcGnPdinQO8JMgJlwIq5x1FKQOvinK650\n 8529GyYdv4OfUcj/T34DaYzwazgiG6Eu76E7La837JOtxAoTUYt7KN9kPPZC2ONOvqaunHr0aGM\n 78CcI","X-Gm-Gg":"AeBDieuMh+rIxTQqE1ePhM+ucLUYFWC/DtAOLrVfUy6LAuz2VqoTBbcqpawexy3WeA3\n bR0p2Ui++m2VPSQppDfYflijU7hyaMBfgK5Z52f9KxBq2MRvfrrRypUY2T3bNnBnfqoLvxyPnWD\n QqZPWAUPRhBLzOb8uo8Gwoq0w7N+YWOILGhrF4uyssTyI5bAq1WEuea0oj/g4GxeA5YzKZfXw/w\n iuK1lxlPItLE8au9OxhiuZ1FpLsMq7oE75sU8oQj4YMTHYRHmU3jAy4T6T0x0JwfZ2QJoxzUAYS\n 3oVRI5QCGPKg1s5O0y9lZHqdbUZUd1nfuG+gFXNpaTrNVTpve74+rLriSKEnJZtDuYItWk0b6j+\n qtbIhpKRqo1cA4DVOUwqHZ856nKPcNsGFz+GHWNxID86tudOYj+ItxcP/ug4Z+EEK4JNil3M4Au\n o1Z2hJ1oLPxP7imPcrD/0DZUeJ+fl+7+DMrCVI7qs4U249YW3KzlPRWeTaYtMfv69h7yWmGOKEJ\n Kz3qmYXog==","X-Received":"by 2002:a05:6808:3028:b0:467:baa:ed5c with SMTP id\n 5614622812f47-480420bfa98mr8444506b6e.12.1778264232684;\n Fri, 08 May 2026 11:17:12 -0700 (PDT)","Message-ID":"<9dc3ea46-ddee-45b3-ad1a-c6d00dd98dc7@linaro.org>","Date":"Fri, 8 May 2026 13:17:10 -0500","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 07/32] target/mips: add Octeon multiplier state","To":"qemu-devel@nongnu.org","References":"\n <20260508-mips-octeon-missing-insns-v2-v3-0-bcbec96357d9@gmail.com>\n <20260508-mips-octeon-missing-insns-v2-v3-7-bcbec96357d9@gmail.com>","From":"Richard Henderson <richard.henderson@linaro.org>","Content-Language":"en-US","In-Reply-To":"\n <20260508-mips-octeon-missing-insns-v2-v3-7-bcbec96357d9@gmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::22c;\n envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22c.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]