[{"id":3680207,"web_url":"http://patchwork.ozlabs.org/comment/3680207/","msgid":"<cb53282a-238a-41e2-9024-92deaa493110@linaro.org>","list_archive_url":null,"date":"2026-04-22T03:04:45","subject":"Re: [PATCH v2 03/13] target/mips: split Octeon SEQ/SNE decode","submitter":{"id":72104,"url":"http://patchwork.ozlabs.org/api/people/72104/","name":"Richard Henderson","email":"richard.henderson@linaro.org"},"content":"On 4/22/26 03:27, James Hilliard wrote:\n> Decode the equality and inequality forms as explicit SEQ/SNE and\n> SEQI/SNEI instructions rather than using shared generated SEQNE/SEQNEI\n> entries.\n> \n> The explicit decoder names match the architectural mnemonics, which\n> makes the translator entry points and trace/debug output easier to\n> correlate with the instruction set.\n> \n> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>\n> ---\n> Changes v1 -> v2:\n>    - Split the SEQ/SNE decode cleanup out of the Octeon arithmetic\n>      instruction patch.  (suggested by Philippe Mathieu-Daudé)\n> ---\n>   target/mips/tcg/octeon.decode      |  8 ++++++--\n>   target/mips/tcg/octeon_translate.c | 26 +++++++++++++++++++++++---\n>   2 files changed, 29 insertions(+), 5 deletions(-)\n> \n> diff --git a/target/mips/tcg/octeon.decode b/target/mips/tcg/octeon.decode\n> index 102a05860d..8a262feb1d 100644\n> --- a/target/mips/tcg/octeon.decode\n> +++ b/target/mips/tcg/octeon.decode\n> @@ -30,6 +30,8 @@ BBIT         11 set:1 . 10 rs:5 ..... offset:s16 p=%bbit_p\n>   # SNEI rt, rs, immediate\n>   \n>   @r3          ...... rs:5 rt:5 rd:5 ..... ......\n> +&cmp3        rs rt rd ne\n> +&cmpi        rs rt imm ne\n>   %bitfield_p  0:1 6:5\n>   @bitfield    ...... rs:5 rt:5 lenm1:5 ..... ..... . p=%bitfield_p\n>   \n> @@ -38,8 +40,10 @@ DMUL         011100 ..... ..... ..... 00000 000011 @r3\n>   EXTS         011100 ..... ..... ..... ..... 11101 . @bitfield\n>   CINS         011100 ..... ..... ..... ..... 11001 . @bitfield\n>   POP          011100 rs:5 00000 rd:5 00000 10110 dw:1\n> -SEQNE        011100 rs:5 rt:5 rd:5 00000 10101 ne:1\n> -SEQNEI       011100 rs:5 rt:5 imm:s10 10111 ne:1\n> +SEQ          011100 rs:5 rt:5 rd:5 00000 101010 &cmp3 ne=0\n> +SNE          011100 rs:5 rt:5 rd:5 00000 101011 &cmp3 ne=1\n> +SEQI         011100 rs:5 rt:5 imm:s10 101110 &cmpi ne=0\n> +SNEI         011100 rs:5 rt:5 imm:s10 101111 &cmpi ne=1\n\nBy splitting the insns, you no longer need the NE field.\nYou can also then use @r3 to avoid repeating the arguments.\n\n> -static bool trans_SEQNE(DisasContext *ctx, arg_SEQNE *a)\n> +static bool trans_seqne(DisasContext *ctx, const arg_cmp3 *a)\n\nThis would become\n\nstatic bool do_seqne(DisasContext *ctx, arg_r3 *a, TCGCond cond)\n{\n     TCGv t0 = tcg_temp_new();\n     TCGv t1 = tcg_temp_new();\n\n     gen_load_gpr(t0, a->rs);\n     gen_load_gpr(t1, a->rt);\n     tcg_gen_setcond_tl(cond, t0, t0, t1);\n     gen_store_gpr(t0, a->rd);\n}\n\nstatic bool trans_SEQ(DisasContext *ctx, arg_r3 *a)\n{\n     return do_seqne(ctx, a, TCG_COND_EQ);\n}\n\netc.\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=EOUTXzm3;\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 4g0kdg1Jwfz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 13:06:29 +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 1wFNuB-0005A6-QO; Tue, 21 Apr 2026 23:05:35 -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 1wFNu7-00056K-IC\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 23:05:31 -0400","from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e])\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 1wFNu4-00055B-SU\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 23:05:30 -0400","by mail-pg1-x52e.google.com with SMTP id\n 41be03b00d2f7-c70f91776fcso1902298a12.0\n for <qemu-devel@nongnu.org>; Tue, 21 Apr 2026 20:05:28 -0700 (PDT)","from [10.72.56.227] ([144.130.157.129])\n by smtp.gmail.com with ESMTPSA id\n 41be03b00d2f7-c797701d9bfsm11188261a12.16.2026.04.21.20.05.24\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Tue, 21 Apr 2026 20:05:26 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776827127; x=1777431927; 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=XztD/aKPvxLXRvd7ZY4iLYCNEe5scz0ePJP8mjOwk6M=;\n b=EOUTXzm339gf4kZo+S10XUiiSA01JVYhbleijhSuWE91WBY+cF+Blw2fD2pUdjv/sf\n GQSmyIVJejMI2tUnHk/BFJhnGWrGXY+vkxpRAg+WC4o+OxvA/aWX957qP0rVKIrJHqxQ\n DqNqzFzbg5WYpjvePl8AW/KzYEJVc/oFPfiptZtSc4mvvqWe8oKvzZ9yJxnk0yxQjAD+\n AN009Cr/qyYviqtCMGL2V58F4HBkcq3/b4ZRMbV6+swq88/wIeXQQKHrzz+UDWTQU0zv\n 2NRBQ2N37YKWIjJCeLvxrswdZvY30Q6PHnE5Lz/tR8ylT2JRO//3ONiRDTBHlQ+K8HSn\n FdoA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776827127; x=1777431927;\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=XztD/aKPvxLXRvd7ZY4iLYCNEe5scz0ePJP8mjOwk6M=;\n b=dPyKm7Sr/emDewEAcsYyyV2nOjdUZ3NNmz4RLCRSnnqvvKDBOEVEZJKUeIH75Ni+lk\n FGBdj7NxB55fxwTIZcOSXTO8GwsH3oMvZM3586o2A7RS8c8be+42tNdZ3vf2bCUTbcwJ\n VsOJ/3rlv57OLLIb2XtYiAKu7+jadvyEiGMKF4jNPkOKWZliHJ4CcSS9Brzrju3sUnBH\n YnHJ/WZAkCPioz2saG9s1Jdqf8Ty350c01yZeoqX1u6uCXw54J6GT7c4T7VtfCQyOzu1\n 6/xX//z28ZVvH3NmyZKtLvx7q+MhjNsMRiHdQSfBwxxVa6ofb0knpWqppEJQRV+yyT/D\n HFQg==","X-Gm-Message-State":"AOJu0Ywxgwx4SXyK+miryLKQsduWBuTjJF7uOLn5VdBp1Y9f9GwlggXv\n 8rzP2ZA7mwaXwqMQpT9bzXE3GUO6+9HAYk+ces8zrU0hSfgGaSeMmZkYJsgd82DkqybhHmR35Ii\n Yd3PBNN8=","X-Gm-Gg":"AeBDietTVTN2YKOltIen/HtUKsOltCFRaCCcw646+5D3oSw4uymyM8hAbEyEXmhgdkl\n Vstz4W5Dd1qDgf5FivFMlPtpmiysOIeW40YQwrsPBaL4eGPb1PaO+Kxb30KHROQBznbu23UcpEo\n UILVaa/EYce8t/jxACz7bwhpXX3FG7oFGeRoq4KCdqdoxN4tcgO6lE6kqqb3TSSM/PO4ne/+9bQ\n kL0Y0ADaJ24IKv/nJZ8VA9NL4XK89+e8X4PefMvzpYvGst5OYowxhcL4pYdrcZJowceL/zjn6Le\n z+8V4piED/Z/weTTXwt/6LBUrIpKR1+3+boK/rT5eyqTwlLrupEh5SWjhQ7msoZWq4zSxPVE1K1\n Gmoy7JS6a3uZibAmRLadjJybacA8VXsedrotm8Ly0oaMMofWq21zu/hPIoQ5v0wV83Jb3MSl5JJ\n inFASZs/e3as9DX0LO1ljazx8xcY86q4SoKSsLGMAvkm2Ll68VOW9VjqChVRq5kg==","X-Received":"by 2002:a05:6a20:7fa2:b0:398:9662:10ff with SMTP id\n adf61e73a8af0-3a08d687750mr23863443637.4.1776827126683;\n Tue, 21 Apr 2026 20:05:26 -0700 (PDT)","Message-ID":"<cb53282a-238a-41e2-9024-92deaa493110@linaro.org>","Date":"Wed, 22 Apr 2026 13:04:45 +1000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 03/13] target/mips: split Octeon SEQ/SNE decode","To":"qemu-devel@nongnu.org","References":"\n <20260421-mips-octeon-missing-insns-v2-v2-0-a0791df188c9@gmail.com>\n <20260421-mips-octeon-missing-insns-v2-v2-3-a0791df188c9@gmail.com>","From":"Richard Henderson <richard.henderson@linaro.org>","Content-Language":"en-US","In-Reply-To":"\n <20260421-mips-octeon-missing-insns-v2-v2-3-a0791df188c9@gmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::52e;\n 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,\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"}}]