From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) client-ip=209.85.221.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896540; cv=none; d=zohomail.com; s=zohoarc; b=SzDbAhw3HthjTUYLcJtdluXdu/a/JFPRepF6tuRM4TnbIYC+cxUKYRhcJX3yyQoaW6LpGLTHJEOCMats6PZNnXUTROY9GnBToISkE4hGvUnuTgyc1TcOWDrvoi26qjjlmWKTLBO98I55q8JkVGHNzv4mgM0jJl3dUeO1ycoWghU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896540; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ozvFF/netK8EPevDtGVOynp+B+FU28R7NPCc/yQa1nA=; b=IuCrmki2OVZwUGuOLNM9ZevOQf8WcfX+qUBofaf+rwqKaVu2MfYBfpT4VnS1alHLTFgl2BXwI3P475+oLwozIb2qh4QgOLUknzfF0CRo5uCpipzMK5gmpucaRYiNwQeiUMj4DwprNYBoB/3xIpaCTmgirKhMBwtNx4GxYyE8xJM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx.zohomail.com with SMTPS id 1629896540404358.77549484671044; Wed, 25 Aug 2021 06:02:20 -0700 (PDT) Received: by mail-wr1-f48.google.com with SMTP id z4so20696531wrr.6 for ; Wed, 25 Aug 2021 06:02:19 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id p12sm4769102wmq.44.2021.08.25.06.02.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ozvFF/netK8EPevDtGVOynp+B+FU28R7NPCc/yQa1nA=; b=NxHrUaVBVVUyQ052hmm0+FQslu/un1A32Ei/j+4BUfM6Qjndd7UxcdRF0+hbgM1TYx 37jvoKKdeeDb4QChaydDOap/9DHH8mp5bvOD5MMaK6pJwzx3H9L9nxECEbFf6yD1VzUe lFQ120TYGvw9crnDm3F1/0x3uDwLpJSbC5991kigjQkXfCvLeRggPAhDlhJxsvSdr9fv WQ0nkhl2cZWxcEQT6lR+RVIh1DqRcfvzce+Aj/FR0MNdf67ud46ydLGcUxwSajKyuuA4 i5S+KTYSf9lCqj4oD/G0ehEUI5G0+uW53g7CWZEVT1KujLWQQgKsP0B8tGg95c4WGXuS HIzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ozvFF/netK8EPevDtGVOynp+B+FU28R7NPCc/yQa1nA=; b=mLHjvf+kRWpbEloV23UVXVHivjB0xTxoW0XrzUEqvzUie1lWV9BVq1aSB0XyvkP4wC m3ZB3mCIpuKPH6ge6g56k2wEhb4FVMnNTxrER+TiHsD4S/Q8jw3n68nSlHks3r27aocg 58CG1t7bvAgwRTIU2+291JlbIWJgtF7MjAvRnrmRyFMkapmGPnf18lXndAKbQvwMdN07 SebhlK7TS2eBHBvga8DF7NNjeaBqu/fvMqBZDT6Zepqd1quW4m8s5/7ruGYTKztq5har X5rwpihdYcXOFRV0mCA3ZWLuYA2sua69v7SPJBL1LRsBu7eKtRGkC/YqMwLxgMnxz+1A /vwg== X-Gm-Message-State: AOAM531aQTJbznX+zu4x0xTdPJGVdcSnhEmU3H/unFZJHFtdofzl38Me /iSuL1mvnD49YB9LjOWyji4= X-Google-Smtp-Source: ABdhPJyMBTrz2pEqFDfUQ4ks38YWd16JJ4eH5gzJhcIi4miqd6nzFqVDeGDHH1fWbNAOmyUCd+SDmw== X-Received: by 2002:a5d:590b:: with SMTP id v11mr20100295wrd.125.1629896538734; Wed, 25 Aug 2021 06:02:18 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 01/28] target/mips: Remove JR opcode unused arguments Date: Wed, 25 Aug 2021 15:01:44 +0200 Message-Id: <20210825130211.1542338-2-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896549415100001 JR opcode (Jump Register) only takes 1 argument, $rs. JALR (Jump And Link Register) takes 3: $rs, $rd and $hint. Commit 6af0bf9c7c3 added their processing into decode_opc() as: case 0x08 ... 0x09: /* Jumps */ gen_compute_branch(ctx, op1 | EXT_SPECIAL, rs, rd, sa); having both opcodes handled in the same function: gen_compute_branch. Per JR encoding, both $rd and $hint ('sa') are decoded as zero. Later this code got extracted to decode_opc_special(), commit 7a387fffce5 used definitions instead of magic values: case OPC_JR ... OPC_JALR: gen_compute_branch(ctx, op1, rs, rd, sa); Finally commit 0aefa33318b moved OPC_JR out of decode_opc_special, to a new 'decode_opc_special_legacy' function: @@ -15851,6 +15851,9 @@ static void decode_opc_special_legacy(CPUMIPSStat= e *env, DisasContext *ctx) + case OPC_JR: + gen_compute_branch(ctx, op1, 4, rs, rd, sa); + break; @@ -15933,7 +15936,7 @@ static void decode_opc_special(CPUMIPSState *env,= DisasContext *ctx) - case OPC_JR ... OPC_JALR: + case OPC_JALR: gen_compute_branch(ctx, op1, 4, rs, rd, sa); break; Since JR is now handled individually, it is pointless to decode and pass it unused arguments. Replace them by simple zero value to avoid confusion with this opcode. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210730225507.2642827-1-f4bug@amsat.org> Reviewed-by: Richard Henderson --- target/mips/tcg/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 5b03545f099..bf71724f3f0 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -14203,7 +14203,7 @@ static void decode_opc_special_legacy(CPUMIPSState = *env, DisasContext *ctx) break; #endif case OPC_JR: - gen_compute_branch(ctx, op1, 4, rs, rd, sa, 4); + gen_compute_branch(ctx, op1, 4, rs, 0, 0, 4); break; case OPC_SPIM: #ifdef MIPS_STRICT_STANDARD --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.48 as permitted sender) client-ip=209.85.128.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896545; cv=none; d=zohomail.com; s=zohoarc; b=LwYzX8vL+JklbvzSq7qPitjTCpzZKJq4SAuUarnt371efxUc6C4M1DLeTIKkU8LEr96TIiRlBxRb+I9aWaSte79/z8tn8BD2890r3GZMCBXLOYcefmF6dZZkJKyK/gFgDU0VwkMZ1j3g/l88a9BevZKeOfEQCy8ZcCUt3s6dFbw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896545; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BmhPQGv1ekcOd/M3H/GaP2PeZvpn18CLhJOxiPQWNtA=; b=gFNB6a1rtAYLh3BtQxFEM0UdSFlhtJznK1FJgWDYTSF9h0maqetMCpn5wfrb6ifOXBoyCFEioXN5gNoBC5uQStzqXFP/BSvc7tc8HIMeJd6zrhRIVs31RaVbVomK0uZGf/3KpLPdaikd5k6r/YYz6guk+FEAoIhFQchYyigA/Ro= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by mx.zohomail.com with SMTPS id 1629896545599995.7808560059435; Wed, 25 Aug 2021 06:02:25 -0700 (PDT) Received: by mail-wm1-f48.google.com with SMTP id m2so3332413wmm.0 for ; Wed, 25 Aug 2021 06:02:25 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id z19sm6296561wma.0.2021.08.25.06.02.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BmhPQGv1ekcOd/M3H/GaP2PeZvpn18CLhJOxiPQWNtA=; b=Gu7+DLUZgoZzZcWKUeabXTHZwxOkWk7iaDT+ZqdD7J1YPaGGpcR8LzXaNf4x9F16zn SyjuBDOidieebHChaLxXxgPxqvsIVlmDDblDyxj8/B9O8v/Ioy1tzxFnwlZcixezbx/N /ove41dB+Q47USOvOqHmMitwxsYe+NueOPoUGeepSF69baEhMcsdRfzr/3rd6Nt9Mpk6 3Uvgtv3w1U7pHO66vl4WpHrwmM+tIgElys+2l4Iq6V1lQPngCNaurCbHpshG0g19ekzJ jume3pLJFuajgcUoZgBYBVG0zXymkPtX4jXoQbZcY/WQZ5NdDQI1LjNt/nlsdQ1T6yez hzvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=BmhPQGv1ekcOd/M3H/GaP2PeZvpn18CLhJOxiPQWNtA=; b=Cst5Q4quoZt/7MpVghPXqmTKE06UMn0+e59BWZIDv3OT5BsFaShK8ABcdhR7WFtCHj 49KEE0dW020sKgi9R9YDWXNclRlSk/+nBMbs/mu3PuiEEaINeJKZgDm+98gaFneIXBt7 WKMCTZIAs8uehQZM5zMizhtVABaaFZJALHuU0n7pdsbJrOiIDjRLUpeHAZNp+0UHzI/K Nq3XNGFUYX5xErn3IFTt/HEpVf3nPzpo2lorP8s8Lcjlvg4qtsnpCAOtexcZHqDjdv8h Eox+2Qvxe+cqvdzfDBi/3nPeN1Gp5yY7tXzoQ6ANGbfDfbp4lNkCcr83l/AOpf8G0IeP JHEg== X-Gm-Message-State: AOAM530gluuouMafu92HhNNSVUovHg6hkfI/8vLwJhqMeBGcCH6okXdP XNAtafEgaCvbMIbHeY6t6l4= X-Google-Smtp-Source: ABdhPJyGA38Gpwt/OUzz3sP0+phejhBaz+YozKFxEF7FQ99KypPQt0r+Bb15PwQt/iKbMcJb56OPMg== X-Received: by 2002:a1c:29c3:: with SMTP id p186mr9171567wmp.22.1629896543822; Wed, 25 Aug 2021 06:02:23 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 02/28] target/mips: Simplify PREF opcode Date: Wed, 25 Aug 2021 15:01:45 +0200 Message-Id: <20210825130211.1542338-3-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896554360100001 check_insn() checks for any bit in the set, and INSN_R5900 is just another bit added to the set. No need to special-case it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210801234202.3167676-2-f4bug@amsat.org> Reviewed-by: Richard Henderson --- target/mips/tcg/translate.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index bf71724f3f0..6b95cca052a 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -15739,12 +15739,8 @@ static bool decode_opc_legacy(CPUMIPSState *env, D= isasContext *ctx) /* Treat as NOP. */ break; case OPC_PREF: - if (ctx->insn_flags & INSN_R5900) { - /* Treat as NOP. */ - } else { - check_insn(ctx, ISA_MIPS4 | ISA_MIPS_R1); - /* Treat as NOP. */ - } + check_insn(ctx, ISA_MIPS4 | ISA_MIPS_R1 | INSN_R5900); + /* Treat as NOP. */ break; =20 /* Floating point (COP1). */ --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.45 as permitted sender) client-ip=209.85.128.45; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f45.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896550; cv=none; d=zohomail.com; s=zohoarc; b=khYzEomADKJ/J6cBnTNKiHe71WhQkcaiYYarGziYrSvHMdjqxEblyctehodpodU5cU1+8xERhUUcMX3ItbMKkH00s7MGlkSIiyjQG68v0Nz7MedkZ6hUeoyLlvmpCcEcNVcIo2f+oQ7iX+xhdzJQl1F2kd9kR4W58sTpUm0gunk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896550; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=99fs6jcmMHJLrcJdKY3HRNZUMhTVbvVJpVEtsAH0Vus=; b=OdkD/kma7zT+QRvps1/t+Oyijl3oUzjj7fPEjI//cWlgpYdF7NgvaDsLnp7N1TCxaAAH95w63SjLnANgxZr2m5FW4WUuFXSe8c0ZyboMyNYy3ei59U3WU/MJZwairyauISuWUTjKdQ4btctpXmnVhdqSj6Y6bkDrtGhewXQo8Iw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by mx.zohomail.com with SMTPS id 162989655020832.14891633410912; Wed, 25 Aug 2021 06:02:30 -0700 (PDT) Received: by mail-wm1-f45.google.com with SMTP id c129-20020a1c35870000b02902e6b6135279so4580196wma.0 for ; Wed, 25 Aug 2021 06:02:29 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id d7sm21646640wrs.39.2021.08.25.06.02.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=99fs6jcmMHJLrcJdKY3HRNZUMhTVbvVJpVEtsAH0Vus=; b=Lffh9mCTl9Rwh1L6F7jozTo3Dq54OeElJCZsS1oX27ycd7WflYdYBnWCw4q4qVdJxo kDNq+SopZsFEq9mbW5MpUH0JeEI7yzBOwRarSMlinMZyLrwzlviJidAAuTdw8A4qFooc GAWT+evTubgo+6F+uBIqKjdK/eWxpYbtAhqR2L7i/tc0sJ4RU9eOXwcSNoRskpdr6P4S S6yT8m8mHR8nCPzrYMfMtF2Oj2jwDtUWD+teV4U6aliMrbvZb69wazoBsPLJBUJGZMlK 3I9AgYNvXsCJGjCdCvt6c6DGewq2ixBsxHJlz20cHDbg+vhlCLtg/X8xQEo0G/Q4+cOM e5ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=99fs6jcmMHJLrcJdKY3HRNZUMhTVbvVJpVEtsAH0Vus=; b=YXcL56MiJofyfOmPalvhglSSgqrpQM1+KlAxc+7MhzyGuTR/Z34gwzbAqLJ3sUbP1J MAQsLYQ8GFXsc13KhhvFlmWwdRS5oD+btxhdhAmPGxEgW+qHV/KuJnQ/kRpsZu6xYLYI H1QSG9lFP+kNYiBQ7/dXihifa/o39VWo7Doeb9S1r2N36dQ7xCzApPZx2OocS284s0ZQ MoQpjunoO3tz46/5ze0Pd7cU8CpEew9829nPe3G0TqT/Dl5SonPSCVdPYb7EYvQ3WOnk D17AYQlYSkjnQ87INCm0EY+vY0ZoWIz8Iwb9KO/04Mgg67z9ElF/iEKrHQmNvNbrw/DD /blg== X-Gm-Message-State: AOAM533/NhkreRAA4P/Mi44HZQTd1H50Kj6L+6Wkfg3jovK8VWgSs7HF g5qAMgU9ooEvcTtbNAUZMM8= X-Google-Smtp-Source: ABdhPJwsMpYeOU8IWSr+1zqW9d2ICi0bg3RrpfUEJ41txy0WITMyWqlu/Wezd+pP7pJZqI38LSLIRw== X-Received: by 2002:a05:600c:220f:: with SMTP id z15mr297262wml.74.1629896548319; Wed, 25 Aug 2021 06:02:28 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 03/28] target/mips: Decode vendor extensions before MIPS ISAs Date: Wed, 25 Aug 2021 15:01:46 +0200 Message-Id: <20210825130211.1542338-4-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896558404100001 In commit ffc672aa977 ("target/mips/tx79: Move MFHI1 / MFLO1 opcodes to decodetree") we misplaced the decoder call. Move it to the correct place. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210801234202.3167676-3-f4bug@amsat.org> Reviewed-by: Richard Henderson --- target/mips/tcg/translate.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 6b95cca052a..490add3fc15 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -16094,6 +16094,11 @@ static void decode_opc(CPUMIPSState *env, DisasCon= text *ctx) =20 /* Transition to the auto-generated decoder. */ =20 + /* Vendor specific extensions */ + if (cpu_supports_isa(env, INSN_R5900) && decode_ext_txx9(ctx, ctx->opc= ode)) { + return; + } + /* ISA extensions */ if (ase_msa_available(env) && decode_ase_msa(ctx, ctx->opcode)) { return; @@ -16103,9 +16108,6 @@ static void decode_opc(CPUMIPSState *env, DisasCont= ext *ctx) if (cpu_supports_isa(env, ISA_MIPS_R6) && decode_isa_rel6(ctx, ctx->op= code)) { return; } - if (cpu_supports_isa(env, INSN_R5900) && decode_ext_txx9(ctx, ctx->opc= ode)) { - return; - } =20 if (decode_opc_legacy(env, ctx)) { return; --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) client-ip=209.85.221.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896554; cv=none; d=zohomail.com; s=zohoarc; b=K+xOCJQDVAkQo36co3s1onaGGOK/e99fhByv8Z0TGl6EbVPeXZsPzj4Z++0oRQYsbwZAVuc38hQHpmUWl2m2YTieP49KFmH0lgV11jeGRIhgaUVrGXJWDC8Q33vd/O/R0gBqcK0qA5J56cyfbKYZ8gaojfA2TloBU2Iue0fCOMU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896554; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/xr1vfWCdZlXZLBObSsh7uuthKBePi4eDkgX2zne5x8=; b=asNElBvPnq9Ja+g5qRIOKSPTzLG3yy9NWyf49Gn3KRRgOD/NWAuxKmMcXbFOq3aH5uFqVJpsVLhxAXxU4CZojm5N26EWQpfdTY10x17rLOUWuXvB0bV7JvZL82ANgMxYvGFyKv7FmI84XB3YLaSnT4zazWP4Tq++IBv7G9K1xAw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mx.zohomail.com with SMTPS id 1629896554814697.4944639538533; Wed, 25 Aug 2021 06:02:34 -0700 (PDT) Received: by mail-wr1-f51.google.com with SMTP id h4so6155805wro.7 for ; Wed, 25 Aug 2021 06:02:34 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id e2sm22917188wrq.56.2021.08.25.06.02.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/xr1vfWCdZlXZLBObSsh7uuthKBePi4eDkgX2zne5x8=; b=sEUrXeBDPR/7Rd4RaJ1StUnJAsXpTpoxr/4oMPQlYZhKt9BeOdz6M0BY5bV7tT5XF7 i/WxgsFUVNvIr+RQJocstRYPm8CN1nI0EKDExUY5Vaq9a1n5DSwUnvEOcfSTtwvh3sma NY8ePdcxJB2rRio8Ps4WtWiN6YgXtALByj1MOnGQZ6hYxbiE6llbkFiOp/l2opT4MR3l e91z70xQqTLpT9bzaELrOb8PX0CmCeHBTDOp26QRRO6d8f652i+Fw5HMqwhkMCzBiDWK gi+mNqLUcVWMjPgBOf1rsfnXRJA1YYxWq0LHtSEStn5+tkWCPWGt5vsz/87+EzE6c/nq 96ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=/xr1vfWCdZlXZLBObSsh7uuthKBePi4eDkgX2zne5x8=; b=T1tyJVxirxCWQ9AvbEpc8YEWbg51i63VrhxaFuFfSgFuLIFa672HHefM/UwlHAgFqO FzkbnNHqAOCbeKCFBIP8Nnq+aGGwW8w3S7QQPyssc12qstQuKTDcSJ9wZer5c8vz1jHH dUV6rIXWLGDpCxxMm7ig7UqRm6HO5X0RP7i1TmdG7E2ojiXIwaIW8oVFwBPH7KWD+dab 1DomWQ12XjkeSvtldZUt3Yw1q0qC94J7bcC0Q1+mm1DyPwplBTwPPaJoL5mC2erinBHt a5GysEzX0tKtarjfr29mCTkzQ9630/z2bPm07PHYmn/Jvf8zhoPRnWmtxnb7JjLieQTX hvVQ== X-Gm-Message-State: AOAM532B0SVOu0XAbl/vVZ8fLLN/U4ogZ/DRjnagA85RncuWkofnWQbv eobg8AumakUKxycQaGtRQBA= X-Google-Smtp-Source: ABdhPJy5iyhfR05Hg8sixihLB8Ckd2WURzCj+W5Oq2bkaOJoB0Vxmiq+ywtbk2xb2NbD0MDsyTlU+w== X-Received: by 2002:a5d:6ca4:: with SMTP id a4mr1625226wra.140.1629896552909; Wed, 25 Aug 2021 06:02:32 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 04/28] target/mips: Merge 32-bit/64-bit Release6 decodetree definitions Date: Wed, 25 Aug 2021 15:01:47 +0200 Message-Id: <20210825130211.1542338-5-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896563722100001 We don't need to maintain 2 sets of decodetree definitions. Merge them into a single file. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210801234202.3167676-4-f4bug@amsat.org> Reviewed-by: Richard Henderson --- target/mips/tcg/mips64r6.decode | 27 ------------------- .../mips/tcg/{mips32r6.decode =3D> rel6.decode} | 13 +++++++++ target/mips/tcg/rel6_translate.c | 16 ++++------- target/mips/tcg/meson.build | 3 +-- 4 files changed, 19 insertions(+), 40 deletions(-) delete mode 100644 target/mips/tcg/mips64r6.decode rename target/mips/tcg/{mips32r6.decode =3D> rel6.decode} (69%) diff --git a/target/mips/tcg/mips64r6.decode b/target/mips/tcg/mips64r6.dec= ode deleted file mode 100644 index b58d8009ccd..00000000000 --- a/target/mips/tcg/mips64r6.decode +++ /dev/null @@ -1,27 +0,0 @@ -# MIPS64 Release 6 instruction set -# -# Copyright (C) 2020 Philippe Mathieu-Daud=C3=A9 -# -# SPDX-License-Identifier: LGPL-2.1-or-later -# -# Reference: -# MIPS Architecture for Programmers Volume II-A -# The MIPS64 Instruction Set Reference Manual, Revision 6.06 -# (Document Number: MD00087-2B-MIPS64BIS-AFP-6.06) -# - -&rtype rs rt rd sa !extern - -&REMOVED !extern - -@lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &rtype - -DLSA 000000 ..... ..... ..... 000 .. 010101 @lsa - -REMOVED 011010 ----- ----- ---------------- # LDL -REMOVED 011011 ----- ----- ---------------- # LDR -REMOVED 101100 ----- ----- ---------------- # SDL -REMOVED 101101 ----- ----- ---------------- # SDR - -REMOVED 110100 ----- ----- ---------------- # LLD -REMOVED 111100 ----- ----- ---------------- # SCD diff --git a/target/mips/tcg/mips32r6.decode b/target/mips/tcg/rel6.decode similarity index 69% rename from target/mips/tcg/mips32r6.decode rename to target/mips/tcg/rel6.decode index 837c991edc5..ed069c51662 100644 --- a/target/mips/tcg/mips32r6.decode +++ b/target/mips/tcg/rel6.decode @@ -5,21 +5,29 @@ # SPDX-License-Identifier: LGPL-2.1-or-later # # Reference: +# # MIPS Architecture for Programmers Volume II-A # The MIPS32 Instruction Set Reference Manual, Revision 6.06 # (Document Number: MD00086-2B-MIPS32BIS-AFP-06.06) # +# MIPS Architecture for Programmers Volume II-A +# The MIPS64 Instruction Set Reference Manual, Revision 6.06 +# (Document Number: MD00087-2B-MIPS64BIS-AFP-6.06) =20 &rtype rs rt rd sa =20 @lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &rtype =20 LSA 000000 ..... ..... ..... 000 .. 000101 @lsa +DLSA 000000 ..... ..... ..... 000 .. 010101 @lsa =20 REMOVED 010011 ----- ----- ----- ----- ------ # COP1X (COP3) =20 REMOVED 011100 ----- ----- ----- ----- ------ # SPECIAL2 =20 +REMOVED 011010 ----- ----- ---------------- # LDL +REMOVED 011011 ----- ----- ---------------- # LDR + REMOVED 011111 ----- ----- ---------- 011001 # LWLE REMOVED 011111 ----- ----- ---------- 011010 # LWRE REMOVED 011111 ----- ----- ---------- 100001 # SWLE @@ -28,9 +36,14 @@ REMOVED 011111 ----- ----- ---------- 10001= 0 # SWRE REMOVED 100010 ----- ----- ---------------- # LWL REMOVED 100110 ----- ----- ---------------- # LWR REMOVED 101010 ----- ----- ---------------- # SWL +REMOVED 101100 ----- ----- ---------------- # SDL +REMOVED 101101 ----- ----- ---------------- # SDR REMOVED 101110 ----- ----- ---------------- # SWR =20 REMOVED 101111 ----- ----- ---------------- # CACHE + REMOVED 110000 ----- ----- ---------------- # LL REMOVED 110011 ----- ----- ---------------- # PREF +REMOVED 110100 ----- ----- ---------------- # LLD REMOVED 111000 ----- ----- ---------------- # SC +REMOVED 111100 ----- ----- ---------------- # SCD diff --git a/target/mips/tcg/rel6_translate.c b/target/mips/tcg/rel6_transl= ate.c index 0354370927d..ae2e023a817 100644 --- a/target/mips/tcg/rel6_translate.c +++ b/target/mips/tcg/rel6_translate.c @@ -13,9 +13,8 @@ #include "exec/helper-gen.h" #include "translate.h" =20 -/* Include the auto-generated decoder. */ -#include "decode-mips32r6.c.inc" -#include "decode-mips64r6.c.inc" +/* Include the auto-generated decoders. */ +#include "decode-rel6.c.inc" =20 bool trans_REMOVED(DisasContext *ctx, arg_REMOVED *a) { @@ -31,13 +30,8 @@ static bool trans_LSA(DisasContext *ctx, arg_rtype *a) =20 static bool trans_DLSA(DisasContext *ctx, arg_rtype *a) { + if (TARGET_LONG_BITS !=3D 64) { + return false; + } return gen_dlsa(ctx, a->rd, a->rt, a->rs, a->sa); } - -bool decode_isa_rel6(DisasContext *ctx, uint32_t insn) -{ - if (TARGET_LONG_BITS =3D=3D 64 && decode_mips64r6(ctx, insn)) { - return true; - } - return decode_mips32r6(ctx, insn); -} diff --git a/target/mips/tcg/meson.build b/target/mips/tcg/meson.build index bf4001e5741..70fa3dd57df 100644 --- a/target/mips/tcg/meson.build +++ b/target/mips/tcg/meson.build @@ -1,6 +1,5 @@ gen =3D [ - decodetree.process('mips32r6.decode', extra_args: '--static-decode=3Ddec= ode_mips32r6'), - decodetree.process('mips64r6.decode', extra_args: '--static-decode=3Ddec= ode_mips64r6'), + decodetree.process('rel6.decode', extra_args: ['--decode=3Ddecode_isa_re= l6']), decodetree.process('msa.decode', extra_args: '--decode=3Ddecode_ase_msa'= ), decodetree.process('tx79.decode', extra_args: '--static-decode=3Ddecode_= tx79'), ] --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) client-ip=209.85.128.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896559; cv=none; d=zohomail.com; s=zohoarc; b=kg36dfLIqPaKG6jjIXM6LDbVSwJ2EWHa5nHr1q2EzVUuyfIN4b9/x6L1zWw/dRLecfItESv+ZznnvicNYgAKK2LV48CSD3duwvp5YgqvFWX/anssaNdLkw3iRvvHLDbv1q3kY4rW1SD6wKIHAluZgDCvjai913Dk9lLUy2gB9eg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896559; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=W6xnaiIUmUl+DsFrI4M2FV6+eRUriPvolShiSG06CRw=; b=KhVJK8iIyedpMwgBVgTrrrOsL4q8sj95vpa30n4LfNJQ4+wPjpRVif538oMeHvk51FzRSkFRD65koQGe8wsrIuTxuWW3H89OUiuON6ASST9Nq/weQs5mol8mZiRUNMeFp9yNPFbnsWxMmMWZqgiSaKsou2+3HSYNXp9eXj52pZg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.zohomail.com with SMTPS id 1629896559742470.8028077861593; Wed, 25 Aug 2021 06:02:39 -0700 (PDT) Received: by mail-wm1-f43.google.com with SMTP id c129-20020a1c35870000b02902e6b6135279so4580558wma.0 for ; Wed, 25 Aug 2021 06:02:39 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id b10sm18177167wrt.43.2021.08.25.06.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=W6xnaiIUmUl+DsFrI4M2FV6+eRUriPvolShiSG06CRw=; b=Of4+7bWpePA1p05JWfqf9XLA6pPrwoe7Yoiivv9KTNgRkKAjSX8FjrwO1UeAjo/oZ9 8Ix3u/nvHwRcKb0cFP9LYx7NU+Fltg/Up+GlZdPIsInYIWwZvX1WUlrBJ24kpLXYZA0e 8iV8GEZ1UjRMohgRWbz/NjLVf7HzWNFy71GUmIk8dH60KojLQKVTNiLJDvN+lj8Vh3qA Xl+aI8xXClyUtb9u6SnyhGsOSlt5PPvYSyyQZ7mJJLDOnOlkMKiP0v01/HtjnN4yHQR3 3mEaGeClk1hMuWn2U1wYfT8mIEqRAxLnVLTV8G+i67ywrmFDSuImUheeeUHzT2UWK3uA q0Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=W6xnaiIUmUl+DsFrI4M2FV6+eRUriPvolShiSG06CRw=; b=nRluP7NYk95UJALP2FnjbsMvjgK1S7BSgDchO+42EAn/22IEad8G/k+5nJlmyq6rUx ZNif/BRuIf3a1chColsxZr4ZozHmwOlKgEUNtRAw+2ihAp9HNSI7sBjyXad79zc4ZVt1 X+PWjHXAm1vXSLJI+mwINyd8S5ic3sXr925D2aCbH9mwvyvWTbdbR23Ef3UtkNJSSUjt kmTgt++mpNQcQurS6OJZdQ3LcekbSOBn2oUpXzMEjRC/nqt4ZATz002XN0kxEZi4QLcB 1TRmGGDYd+CC/DtITBTXrTZfioOVLjaw/KevenReOXhg3HYqnQIEtYoy8U+/pXUW7bL/ vj6g== X-Gm-Message-State: AOAM5308Hta1UUAmnoIa299oedfB61OktktjQn8MYAbk6Tc6SC5++RXF 0qR4zNFP92ExZf1GrL+T75M= X-Google-Smtp-Source: ABdhPJz3iJB80guNEn2n9wMvOM2+aJXH0V3n72ALqaROFaVkTEaQGPbG6+Nl/NjgSORCNKtxI5xLcw== X-Received: by 2002:a1c:7e8a:: with SMTP id z132mr9131781wmc.75.1629896557724; Wed, 25 Aug 2021 06:02:37 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 05/28] target/mips: Rename 'rtype' as 'r' Date: Wed, 25 Aug 2021 15:01:48 +0200 Message-Id: <20210825130211.1542338-6-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896567593100001 We'll soon have more opcode and decoded arguments, and 'rtype' is not very helpful. Naming it simply 'r' ease reviewing the .decode files when we have many opcodes. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210801234202.3167676-5-f4bug@amsat.org> Reviewed-by: Richard Henderson --- target/mips/tcg/msa.decode | 4 +-- target/mips/tcg/rel6.decode | 4 +-- target/mips/tcg/tx79.decode | 14 ++++---- target/mips/tcg/msa_translate.c | 4 +-- target/mips/tcg/rel6_translate.c | 4 +-- target/mips/tcg/tx79_translate.c | 62 ++++++++++++++++---------------- 6 files changed, 46 insertions(+), 46 deletions(-) diff --git a/target/mips/tcg/msa.decode b/target/mips/tcg/msa.decode index bf132e36b9b..74d99f6862c 100644 --- a/target/mips/tcg/msa.decode +++ b/target/mips/tcg/msa.decode @@ -11,11 +11,11 @@ # - The MIPS64 SIMD Architecture Module, Revision 1.12 # (Document Number: MD00868-1D-MSA64-AFP-01.12) =20 -&rtype rs rt rd sa +&r rs rt rd sa =20 &msa_bz df wt s16 =20 -@lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &rtype +@lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &r @bz ...... ... .. wt:5 s16:16 &msa_bz df=3D3 @bz_df ...... ... df:2 wt:5 s16:16 &msa_bz =20 diff --git a/target/mips/tcg/rel6.decode b/target/mips/tcg/rel6.decode index ed069c51662..d6989cf56e8 100644 --- a/target/mips/tcg/rel6.decode +++ b/target/mips/tcg/rel6.decode @@ -14,9 +14,9 @@ # The MIPS64 Instruction Set Reference Manual, Revision 6.06 # (Document Number: MD00087-2B-MIPS64BIS-AFP-6.06) =20 -&rtype rs rt rd sa +&r rs rt rd sa =20 -@lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &rtype +@lsa ...... rs:5 rt:5 rd:5 ... sa:2 ...... &r =20 LSA 000000 ..... ..... ..... 000 .. 000101 @lsa DLSA 000000 ..... ..... ..... 000 .. 010101 @lsa diff --git a/target/mips/tcg/tx79.decode b/target/mips/tcg/tx79.decode index 03a25a5096d..57d87a2076a 100644 --- a/target/mips/tcg/tx79.decode +++ b/target/mips/tcg/tx79.decode @@ -11,20 +11,20 @@ # when creating helpers common to those for the individual # instruction patterns. =20 -&rtype rs rt rd sa +&r rs rt rd sa =20 -&itype base rt offset +&i base rt offset =20 ########################################################################### # Named instruction formats. These are generally used to # reduce the amount of duplication between instruction patterns. =20 -@rs_rt_rd ...... rs:5 rt:5 rd:5 ..... ...... &rtype sa=3D0 -@rt_rd ...... ..... rt:5 rd:5 ..... ...... &rtype rs=3D0 sa= =3D0 -@rs ...... rs:5 ..... .......... ...... &rtype rt=3D0 rd= =3D0 sa=3D0 -@rd ...... .......... rd:5 ..... ...... &rtype rs=3D0 rt= =3D0 sa=3D0 +@rs_rt_rd ...... rs:5 rt:5 rd:5 ..... ...... &r sa=3D0 +@rt_rd ...... ..... rt:5 rd:5 ..... ...... &r sa=3D0 rs=3D0 +@rs ...... rs:5 ..... .......... ...... &r sa=3D0 rt= =3D0 rd=3D0 +@rd ...... .......... rd:5 ..... ...... &r sa=3D0 rs=3D0 r= t=3D0 =20 -@ldst ...... base:5 rt:5 offset:16 &itype +@ldst ...... base:5 rt:5 offset:16 &i =20 ########################################################################### =20 diff --git a/target/mips/tcg/msa_translate.c b/target/mips/tcg/msa_translat= e.c index eed2eca6c92..8170a8df26b 100644 --- a/target/mips/tcg/msa_translate.c +++ b/target/mips/tcg/msa_translate.c @@ -2261,12 +2261,12 @@ static bool trans_MSA(DisasContext *ctx, arg_MSA *a) return true; } =20 -static bool trans_LSA(DisasContext *ctx, arg_rtype *a) +static bool trans_LSA(DisasContext *ctx, arg_r *a) { return gen_lsa(ctx, a->rd, a->rt, a->rs, a->sa); } =20 -static bool trans_DLSA(DisasContext *ctx, arg_rtype *a) +static bool trans_DLSA(DisasContext *ctx, arg_r *a) { if (TARGET_LONG_BITS !=3D 64) { return false; diff --git a/target/mips/tcg/rel6_translate.c b/target/mips/tcg/rel6_transl= ate.c index ae2e023a817..d631851258a 100644 --- a/target/mips/tcg/rel6_translate.c +++ b/target/mips/tcg/rel6_translate.c @@ -23,12 +23,12 @@ bool trans_REMOVED(DisasContext *ctx, arg_REMOVED *a) return true; } =20 -static bool trans_LSA(DisasContext *ctx, arg_rtype *a) +static bool trans_LSA(DisasContext *ctx, arg_r *a) { return gen_lsa(ctx, a->rd, a->rt, a->rs, a->sa); } =20 -static bool trans_DLSA(DisasContext *ctx, arg_rtype *a) +static bool trans_DLSA(DisasContext *ctx, arg_r *a) { if (TARGET_LONG_BITS !=3D 64) { return false; diff --git a/target/mips/tcg/tx79_translate.c b/target/mips/tcg/tx79_transl= ate.c index 395d6afa1f1..6d51fe17c1a 100644 --- a/target/mips/tcg/tx79_translate.c +++ b/target/mips/tcg/tx79_translate.c @@ -64,28 +64,28 @@ bool decode_ext_tx79(DisasContext *ctx, uint32_t insn) * MTLO1 rs Move To LO1 Register */ =20 -static bool trans_MFHI1(DisasContext *ctx, arg_rtype *a) +static bool trans_MFHI1(DisasContext *ctx, arg_r *a) { gen_store_gpr(cpu_HI[1], a->rd); =20 return true; } =20 -static bool trans_MFLO1(DisasContext *ctx, arg_rtype *a) +static bool trans_MFLO1(DisasContext *ctx, arg_r *a) { gen_store_gpr(cpu_LO[1], a->rd); =20 return true; } =20 -static bool trans_MTHI1(DisasContext *ctx, arg_rtype *a) +static bool trans_MTHI1(DisasContext *ctx, arg_r *a) { gen_load_gpr(cpu_HI[1], a->rs); =20 return true; } =20 -static bool trans_MTLO1(DisasContext *ctx, arg_rtype *a) +static bool trans_MTLO1(DisasContext *ctx, arg_r *a) { gen_load_gpr(cpu_LO[1], a->rs); =20 @@ -116,7 +116,7 @@ static bool trans_MTLO1(DisasContext *ctx, arg_rtype *a) * PSUBUW rd, rs, rt Parallel Subtract with Unsigned saturation Wo= rd */ =20 -static bool trans_parallel_arith(DisasContext *ctx, arg_rtype *a, +static bool trans_parallel_arith(DisasContext *ctx, arg_r *a, void (*gen_logic_i64)(TCGv_i64, TCGv_i64,= TCGv_i64)) { TCGv_i64 ax, bx; @@ -146,19 +146,19 @@ static bool trans_parallel_arith(DisasContext *ctx, a= rg_rtype *a, } =20 /* Parallel Subtract Byte */ -static bool trans_PSUBB(DisasContext *ctx, arg_rtype *a) +static bool trans_PSUBB(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_vec_sub8_i64); } =20 /* Parallel Subtract Halfword */ -static bool trans_PSUBH(DisasContext *ctx, arg_rtype *a) +static bool trans_PSUBH(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_vec_sub16_i64); } =20 /* Parallel Subtract Word */ -static bool trans_PSUBW(DisasContext *ctx, arg_rtype *a) +static bool trans_PSUBW(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_vec_sub32_i64); } @@ -189,25 +189,25 @@ static bool trans_PSUBW(DisasContext *ctx, arg_rtype = *a) */ =20 /* Parallel And */ -static bool trans_PAND(DisasContext *ctx, arg_rtype *a) +static bool trans_PAND(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_and_i64); } =20 /* Parallel Or */ -static bool trans_POR(DisasContext *ctx, arg_rtype *a) +static bool trans_POR(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_or_i64); } =20 /* Parallel Exclusive Or */ -static bool trans_PXOR(DisasContext *ctx, arg_rtype *a) +static bool trans_PXOR(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_xor_i64); } =20 /* Parallel Not Or */ -static bool trans_PNOR(DisasContext *ctx, arg_rtype *a) +static bool trans_PNOR(DisasContext *ctx, arg_r *a) { return trans_parallel_arith(ctx, a, tcg_gen_nor_i64); } @@ -237,7 +237,7 @@ static bool trans_PNOR(DisasContext *ctx, arg_rtype *a) * PCEQW rd, rs, rt Parallel Compare for Equal Word */ =20 -static bool trans_parallel_compare(DisasContext *ctx, arg_rtype *a, +static bool trans_parallel_compare(DisasContext *ctx, arg_r *a, TCGCond cond, unsigned wlen) { TCGv_i64 c0, c1, ax, bx, t0, t1, t2; @@ -286,37 +286,37 @@ static bool trans_parallel_compare(DisasContext *ctx,= arg_rtype *a, } =20 /* Parallel Compare for Greater Than Byte */ -static bool trans_PCGTB(DisasContext *ctx, arg_rtype *a) +static bool trans_PCGTB(DisasContext *ctx, arg_r *a) { return trans_parallel_compare(ctx, a, TCG_COND_GE, 8); } =20 /* Parallel Compare for Equal Byte */ -static bool trans_PCEQB(DisasContext *ctx, arg_rtype *a) +static bool trans_PCEQB(DisasContext *ctx, arg_r *a) { return trans_parallel_compare(ctx, a, TCG_COND_EQ, 8); } =20 /* Parallel Compare for Greater Than Halfword */ -static bool trans_PCGTH(DisasContext *ctx, arg_rtype *a) +static bool trans_PCGTH(DisasContext *ctx, arg_r *a) { return trans_parallel_compare(ctx, a, TCG_COND_GE, 16); } =20 /* Parallel Compare for Equal Halfword */ -static bool trans_PCEQH(DisasContext *ctx, arg_rtype *a) +static bool trans_PCEQH(DisasContext *ctx, arg_r *a) { return trans_parallel_compare(ctx, a, TCG_COND_EQ, 16); } =20 /* Parallel Compare for Greater Than Word */ -static bool trans_PCGTW(DisasContext *ctx, arg_rtype *a) +static bool trans_PCGTW(DisasContext *ctx, arg_r *a) { return trans_parallel_compare(ctx, a, TCG_COND_GE, 32); } =20 /* Parallel Compare for Equal Word */ -static bool trans_PCEQW(DisasContext *ctx, arg_rtype *a) +static bool trans_PCEQW(DisasContext *ctx, arg_r *a) { return trans_parallel_compare(ctx, a, TCG_COND_EQ, 32); } @@ -334,7 +334,7 @@ static bool trans_PCEQW(DisasContext *ctx, arg_rtype *a) * SQ rt, offset(base) Store Quadword */ =20 -static bool trans_LQ(DisasContext *ctx, arg_itype *a) +static bool trans_LQ(DisasContext *ctx, arg_i *a) { TCGv_i64 t0; TCGv addr; @@ -369,7 +369,7 @@ static bool trans_LQ(DisasContext *ctx, arg_itype *a) return true; } =20 -static bool trans_SQ(DisasContext *ctx, arg_itype *a) +static bool trans_SQ(DisasContext *ctx, arg_i *a) { TCGv_i64 t0 =3D tcg_temp_new_i64(); TCGv addr =3D tcg_temp_new(); @@ -437,7 +437,7 @@ static bool trans_SQ(DisasContext *ctx, arg_itype *a) */ =20 /* Parallel Pack to Word */ -static bool trans_PPACW(DisasContext *ctx, arg_rtype *a) +static bool trans_PPACW(DisasContext *ctx, arg_r *a) { TCGv_i64 a0, b0, t0; =20 @@ -473,7 +473,7 @@ static void gen_pextw(TCGv_i64 dl, TCGv_i64 dh, TCGv_i6= 4 a, TCGv_i64 b) tcg_gen_deposit_i64(dh, a, b, 0, 32); } =20 -static bool trans_PEXTLx(DisasContext *ctx, arg_rtype *a, unsigned wlen) +static bool trans_PEXTLx(DisasContext *ctx, arg_r *a, unsigned wlen) { TCGv_i64 ax, bx; =20 @@ -514,19 +514,19 @@ static bool trans_PEXTLx(DisasContext *ctx, arg_rtype= *a, unsigned wlen) } =20 /* Parallel Extend Lower from Byte */ -static bool trans_PEXTLB(DisasContext *ctx, arg_rtype *a) +static bool trans_PEXTLB(DisasContext *ctx, arg_r *a) { return trans_PEXTLx(ctx, a, 8); } =20 /* Parallel Extend Lower from Halfword */ -static bool trans_PEXTLH(DisasContext *ctx, arg_rtype *a) +static bool trans_PEXTLH(DisasContext *ctx, arg_r *a) { return trans_PEXTLx(ctx, a, 16); } =20 /* Parallel Extend Lower from Word */ -static bool trans_PEXTLW(DisasContext *ctx, arg_rtype *a) +static bool trans_PEXTLW(DisasContext *ctx, arg_r *a) { TCGv_i64 ax, bx; =20 @@ -549,7 +549,7 @@ static bool trans_PEXTLW(DisasContext *ctx, arg_rtype *= a) } =20 /* Parallel Extend Upper from Word */ -static bool trans_PEXTUW(DisasContext *ctx, arg_rtype *a) +static bool trans_PEXTUW(DisasContext *ctx, arg_r *a) { TCGv_i64 ax, bx; =20 @@ -593,7 +593,7 @@ static bool trans_PEXTUW(DisasContext *ctx, arg_rtype *= a) */ =20 /* Parallel Copy Halfword */ -static bool trans_PCPYH(DisasContext *s, arg_rtype *a) +static bool trans_PCPYH(DisasContext *s, arg_r *a) { if (a->rd =3D=3D 0) { /* nop */ @@ -615,7 +615,7 @@ static bool trans_PCPYH(DisasContext *s, arg_rtype *a) } =20 /* Parallel Copy Lower Doubleword */ -static bool trans_PCPYLD(DisasContext *s, arg_rtype *a) +static bool trans_PCPYLD(DisasContext *s, arg_r *a) { if (a->rd =3D=3D 0) { /* nop */ @@ -638,7 +638,7 @@ static bool trans_PCPYLD(DisasContext *s, arg_rtype *a) } =20 /* Parallel Copy Upper Doubleword */ -static bool trans_PCPYUD(DisasContext *s, arg_rtype *a) +static bool trans_PCPYUD(DisasContext *s, arg_r *a) { if (a->rd =3D=3D 0) { /* nop */ @@ -657,7 +657,7 @@ static bool trans_PCPYUD(DisasContext *s, arg_rtype *a) } =20 /* Parallel Rotate 3 Words Left */ -static bool trans_PROT3W(DisasContext *ctx, arg_rtype *a) +static bool trans_PROT3W(DisasContext *ctx, arg_r *a) { TCGv_i64 ax; =20 --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) client-ip=209.85.221.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896564; cv=none; d=zohomail.com; s=zohoarc; b=mZmrXZFwi+LYdZrj5u4QTYXoseRmhyXHQhn145n7OP0NTmXGnBIlv3NMYSghhbNuC4toYgK/OuvU5GKMb8tAcn0lWfAc4iBa4ZGBaemyrKSMYCM6JMiNzdtZ2gMnt9Q+0QshGYpps1eb1zdy+qEC1U4t6tqQNlj4ZPByJ8ReyDQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896564; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nJNwio1dTQ0gx5yIvceymVX906UiKSNU6ZWoSzTuBw8=; b=A1ygB/9IAs1wbdI9ydLOiG8NIWutPm9YBFcyIGLWDQJHJ0aQX5PReNENeuiIUiFNmw5q3z851WGbLkshuXkAXAgs/7ZUX5R1533vlLx7bBiuanBDdRKi/ef7PrxG3Cc/5lWVH3/1h+0sw5s3YqhJNEG4PiVdLWoBo/frqder6Ts= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by mx.zohomail.com with SMTPS id 1629896564127423.0448097531105; Wed, 25 Aug 2021 06:02:44 -0700 (PDT) Received: by mail-wr1-f50.google.com with SMTP id v10so25122792wrd.4 for ; Wed, 25 Aug 2021 06:02:43 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id z6sm5252946wmp.1.2021.08.25.06.02.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nJNwio1dTQ0gx5yIvceymVX906UiKSNU6ZWoSzTuBw8=; b=cLomBZIFn3hzAwKApJb8v8/Y8LYCElslcvhMW63GiyP5yqpBSijzCHYSiTejdTGIXl 1pooMWlHGLu5L4ifRkdYhxiaCoG4aiBHFvHDOQfarTHLqWo3lNGIpzdFxTvRfb7Vy6mM QsSdVHV/KR2ZGgvGOGKaCKiyv2fn6TbyfSUwqE5cfB4WqekXY1VMHN+d+D6/y2VA/F0b tNePd1Rwsul8s9xmzMmHUmzBN6hSLk2cDQ1B0Z4tRmDfT1GISNjrxjaUfCWgFrwCRL64 JbtDDUaMUIcC6sneSsi0Frg4mUHbaVF6966rFPlbfPEIPdawZGC+jg9yVUd7yBD0RXIZ sirg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=nJNwio1dTQ0gx5yIvceymVX906UiKSNU6ZWoSzTuBw8=; b=X9OC03D47FSAc55GigOS9cwq+rXmvI2KVnC5eU1wJt9G8HGJl0z/pQBb6h9+RQWZuP uPYpLdfFRR8/S5NW6Huy7xB3L/qV2p0aHJNO9lxXFqPX8aOmBh2QGEWwX3/8T9yhfBcl ib611BQategJ2OUD88PbCDsCZB+stmIKpamEvTWTLwVhC6M8iKxzYC4qGuC5F3Y1TUjs AZScNkHEQ/skvGWh6r2dNjo1kPw6wCgAIeRgpcOcsXUhvXlj9I2uDjZU6TMnkjTwMwMO 6zvZlzoBEDNZoa6nnRVXSSgBQhrPCsG+i4O0N8ocHZm6mZ6MwYnnnhQyjwVEk+hiEWsV 17SQ== X-Gm-Message-State: AOAM531cY56d7FOFo+J9pbjhau32w66QjS5M3rqJNsKousprtjNgPUE5 JguoQfb4AKLzuN0PnrohHyw= X-Google-Smtp-Source: ABdhPJyL9OeKnUBfFxhHngJaq2cbyCgZwWvCeIgp10dhBzmLzy7oAhdptAzO/d/LyUtu9Ej1YSw9XA== X-Received: by 2002:a5d:508e:: with SMTP id a14mr25189425wrt.306.1629896562294; Wed, 25 Aug 2021 06:02:42 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 06/28] target/mips: Introduce generic TRANS() macro for decodetree helpers Date: Wed, 25 Aug 2021 15:01:49 +0200 Message-Id: <20210825130211.1542338-7-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896571373100003 Plain copy/paste of the TRANS() macro introduced in the PPC commit f2aabda8ac9 ("target/ppc: Move D/DS/X-form integer loads to decodetree") to the MIPS target. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210808173018.90960-2-f4bug@amsat.org> --- target/mips/tcg/translate.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index c25fad597d5..791e3e2c7e8 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -202,4 +202,12 @@ bool decode_ext_txx9(DisasContext *ctx, uint32_t insn); bool decode_ext_tx79(DisasContext *ctx, uint32_t insn); #endif =20 +/* + * Helpers for implementing sets of trans_* functions. + * Defer the implementation of NAME to FUNC, with optional extra arguments. + */ +#define TRANS(NAME, FUNC, ...) \ + static bool trans_##NAME(DisasContext *ctx, arg_##NAME *a) \ + { return FUNC(ctx, a, __VA_ARGS__); } + #endif --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896572; cv=none; d=zohomail.com; s=zohoarc; b=HLB3VnIzchPdMdXTX1j/Ww61t61RhgnybDTm5IQ4/0LMwSPkpdJmnTgMCJjaIML289MOjB3BChRh61bQslviYxUoTAszcA1hqeQISIy/Vcc1JOoTZCDzXM5J56tCxDlHQQ1S2cVG4d4H5bvGo8njHNzXc6OIlWdudFioxX+lGQ4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896572; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/eMBnlVY7aRA5TQWaHvUi3TTkCtDi3J83ziaggVBpSU=; b=SoKuG0O4ZzArO2mVhGFGAhIuUZgOqaxYyoi3QFTOHr7vQhStMWAbxEkeyRnm32s74yQdemcK+qt60oWc4Ax9zd0Rgx9p30CN15uQimZibfnFMn+aoRJWhBPeedVP3Ajes1dTknBae7KPN5AW3VeUi5NNjkaDN+2kXQ4kdSzQRDo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1629896572142362.7691562225127; Wed, 25 Aug 2021 06:02:52 -0700 (PDT) Received: by mail-wr1-f42.google.com with SMTP id u16so36348224wrn.5 for ; Wed, 25 Aug 2021 06:02:50 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id k1sm22016945wrz.61.2021.08.25.06.02.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/eMBnlVY7aRA5TQWaHvUi3TTkCtDi3J83ziaggVBpSU=; b=vdOcuZzjufp4mMzMGdAqGk1fi/xeypirVj96tGt/cYfvcXiGRrJVowJDSjzEpKBT1s ZetPQV+Ijd06wLX/WrZTO+rQKeAQtnEVyCxjr/TOMhzyc1dLzHhXYPxyCWWmDND96eMA BpQyzaUxm8MmvF1cUQnFOUX/wpvPzlgVnZGMvwEPtEVGF24/hqwgAC4mdewgePtirIB0 XpAYdXjkCUgnJU/4xkZp9ZGbUV+sIBAAffhslufOJ7gR+bJhPiaSQmMH109IH+z+Xsgf 1dnPdnUfDQBjE79hcIZ8xH1kuakBHL2M8U5tUKtly29HOYPSMyLWI10XIVsJ9xngb2tF nUGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=/eMBnlVY7aRA5TQWaHvUi3TTkCtDi3J83ziaggVBpSU=; b=U2wB2tBSmQ3DijwEhCgYbbXrcLutDruHCxlLkd9UMMvU47KSAsH+aoG/oDyUayGXnM Bn3MiQ7eKZn7ej8CoyL/YZmFfpeFBuMt+hm+/6oH/hZ20OxkhyvvVRjKwqQl5cHqNlWg 1gCEGDuqijScEP2OTXWKp85QSk/WEIgLppjTLScOd9gs9PTuilMGWBUfIOgZS80SCZ1i 7rSRCJWgL7rb7tYj4XodS/Z6Wn1aXvx7xBi/1xny+m2gUx+gYDnHj8LPlSI5+UKIrivL au7GEPctWHs1FnfHkwd3ZUg0JhADDBi0TsUMfgkGi27mAl4XTEFaYCX3vfSlTA9Q4/qv 3HJA== X-Gm-Message-State: AOAM533i2qqmCwwD2VA320LEAmxuagGtxZTpJQCYKpgz5bLWW7ApEBqI 74VQTcCHrUiOyMMmoh1azus= X-Google-Smtp-Source: ABdhPJyCxtRB8IXSCcw+I6KtXsxo7wEr5yaT54NJaBSNHvECNNrZZQS1PzllpIt73oMMtEGUyE5quA== X-Received: by 2002:adf:e645:: with SMTP id b5mr24823448wrn.34.1629896566934; Wed, 25 Aug 2021 06:02:46 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 07/28] target/mips: Extract NEC Vr54xx helper definitions Date: Wed, 25 Aug 2021 15:01:50 +0200 Message-Id: <20210825130211.1542338-8-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896577004100001 Extract the NEC Vr54xx helper definitions to 'vendor-vr54xx_helper.h'. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20201120210844.2625602-15-f4bug@amsat.org> --- target/mips/helper.h | 18 +++--------------- target/mips/tcg/vr54xx_helper.h.inc | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 target/mips/tcg/vr54xx_helper.h.inc diff --git a/target/mips/helper.h b/target/mips/helper.h index a9c6c7d1a31..de32d82e980 100644 --- a/target/mips/helper.h +++ b/target/mips/helper.h @@ -16,21 +16,6 @@ DEF_HELPER_3(lld, tl, env, tl, int) #endif #endif =20 -DEF_HELPER_3(muls, tl, env, tl, tl) -DEF_HELPER_3(mulsu, tl, env, tl, tl) -DEF_HELPER_3(macc, tl, env, tl, tl) -DEF_HELPER_3(maccu, tl, env, tl, tl) -DEF_HELPER_3(msac, tl, env, tl, tl) -DEF_HELPER_3(msacu, tl, env, tl, tl) -DEF_HELPER_3(mulhi, tl, env, tl, tl) -DEF_HELPER_3(mulhiu, tl, env, tl, tl) -DEF_HELPER_3(mulshi, tl, env, tl, tl) -DEF_HELPER_3(mulshiu, tl, env, tl, tl) -DEF_HELPER_3(macchi, tl, env, tl, tl) -DEF_HELPER_3(macchiu, tl, env, tl, tl) -DEF_HELPER_3(msachi, tl, env, tl, tl) -DEF_HELPER_3(msachiu, tl, env, tl, tl) - DEF_HELPER_FLAGS_1(bitswap, TCG_CALL_NO_RWG_SE, tl, tl) #ifdef TARGET_MIPS64 DEF_HELPER_FLAGS_1(dbitswap, TCG_CALL_NO_RWG_SE, tl, tl) @@ -609,3 +594,6 @@ DEF_HELPER_FLAGS_2(rddsp, 0, tl, tl, env) #endif /* !CONFIG_USER_ONLY */ =20 #include "tcg/msa_helper.h.inc" + +/* Vendor extensions */ +#include "tcg/vr54xx_helper.h.inc" diff --git a/target/mips/tcg/vr54xx_helper.h.inc b/target/mips/tcg/vr54xx_h= elper.h.inc new file mode 100644 index 00000000000..50b1f5b818d --- /dev/null +++ b/target/mips/tcg/vr54xx_helper.h.inc @@ -0,0 +1,24 @@ +/* + * MIPS NEC Vr54xx instruction emulation helpers for QEMU. + * + * Copyright (c) 2004-2005 Jocelyn Mayer + * Copyright (c) 2006 Marius Groeger (FPU operations) + * Copyright (c) 2006 Thiemo Seufer (MIPS32R2 support) + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +DEF_HELPER_3(muls, tl, env, tl, tl) +DEF_HELPER_3(mulsu, tl, env, tl, tl) +DEF_HELPER_3(macc, tl, env, tl, tl) +DEF_HELPER_3(maccu, tl, env, tl, tl) +DEF_HELPER_3(msac, tl, env, tl, tl) +DEF_HELPER_3(msacu, tl, env, tl, tl) +DEF_HELPER_3(mulhi, tl, env, tl, tl) +DEF_HELPER_3(mulhiu, tl, env, tl, tl) +DEF_HELPER_3(mulshi, tl, env, tl, tl) +DEF_HELPER_3(mulshiu, tl, env, tl, tl) +DEF_HELPER_3(macchi, tl, env, tl, tl) +DEF_HELPER_3(macchiu, tl, env, tl, tl) +DEF_HELPER_3(msachi, tl, env, tl, tl) +DEF_HELPER_3(msachiu, tl, env, tl, tl) --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896574; cv=none; d=zohomail.com; s=zohoarc; b=mYUHedEKdpn5wpOx5lLmLCwwRC1XOYlgfFVoIsLtr4ttRCPXYdbGRo0akvytYkohK34Zgv4KJQyn07t0XA3mAlH/DhAqBx/CezodtXwub5fciILnvrmotKF7ZIbp0nBuXDMZWkbZuHVKZ/2XTejsUA5WTzDfF3ol3ova4rQH/Tw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896574; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y+Z+wzzxvnZ3+Pd2ULhHSg80v3gwgjV2sFikCRT73jM=; b=f1dVur8XEg+1h7QOGSFwgL32e+96Jzn5BhS/vO9EVrrQa+/VoRbp8RBn0hM9wNlbOp7Ayz+5iHQuzppLdebO11bfgwfdVh+9HaruCw/zSxBFJzEqW8LRGhXH5VRwSjKa8sn3FYLvidYAUXHdhZbQUOQpfpHEMVfClw0FDHor4dE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 16298965741593.6966778125932933; Wed, 25 Aug 2021 06:02:54 -0700 (PDT) Received: by mail-wr1-f49.google.com with SMTP id h13so36391527wrp.1 for ; Wed, 25 Aug 2021 06:02:53 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id m3sm2340893wrg.45.2021.08.25.06.02.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y+Z+wzzxvnZ3+Pd2ULhHSg80v3gwgjV2sFikCRT73jM=; b=t/ZOrzwLxyNGz8I7rAg6BAxfWp7YrQbcFTGlwtn5yZ/dOWj1WSqQLayMTnyviggcwQ U2TV1B6D24sVWGqxEP+OkxQ9hnAPd107RSMXcVQUMhknR5hibvGh9MhyUbpppWaWuPgo 1S8i/NFOgT9U84PMpobDgAUg4LdejSPwLqJa/b2dG+/QmggycHXYKVgbMxDzWmamZlHk 22x7E7kbM1UOm1iC/RB6Aovxow0cwUx+TQzyDpdrmH5K2D9P9Af6M70fYX+BV7Dn9XbK bH6mIGj1Mh/0V+8u8DQrOa4i5MF0s4fYD1oSidAJ2T3RrXVP0CfUahsYpNN0JtQByzoj iu3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=y+Z+wzzxvnZ3+Pd2ULhHSg80v3gwgjV2sFikCRT73jM=; b=Z74+mV+FTY3yPgDotJ91KMLkaK5B+uIVx+gXFgVsl3zbqnfrnOn0uB+cQgYawYDer1 eMTlCCPwYkrniGekZK2SK12KdldfIo5vHLUri4BkMxCHUem3YCtgfiQlQXq1BY2ynD5h Wr+ty66OHEu1a4RvWEtGHaD2I/vya9bY/Waae+8OP4Y+vxF0N2NCERFgUvU6QtOCESLe CzX+UIXb6xv2tqokBbfDSkIs3NBhkB4nd8a7N9ULtx1zf/pKokI24laxyR++uyWtqoLc AIxbZhE/5ps0zJs6xBa8NhYypvmnRYNwlGqtUhQ2kbladk+nwYTt7WKQdkOPNX4IYT24 akiA== X-Gm-Message-State: AOAM530fysqVcVd79L6RqS89EQ5SI1AFtTby9CmQz4Kl20vktdU4DBf+ VRJPIOSNMPyPz1Ux99ckoXI= X-Google-Smtp-Source: ABdhPJwssi2hkR4g3+V24Wfb7ITrXIFY6H1jSDAbPp7dS1inCuFi3TfLWnFQhZWKMuEY2Hv3Xy22hQ== X-Received: by 2002:adf:ec8b:: with SMTP id z11mr12731494wrn.122.1629896571545; Wed, 25 Aug 2021 06:02:51 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 08/28] target/mips: Extract NEC Vr54xx helpers to vr54xx_helper.c Date: Wed, 25 Aug 2021 15:01:51 +0200 Message-Id: <20210825130211.1542338-9-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896578694100003 Extract NEC Vr54xx helpers from op_helper.c to a new file: 'vr54xx_helper.c'. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20201120210844.2625602-14-f4bug@amsat.org> --- target/mips/tcg/op_helper.c | 118 -------------------------- target/mips/tcg/vr54xx_helper.c | 142 ++++++++++++++++++++++++++++++++ target/mips/tcg/meson.build | 1 + 3 files changed, 143 insertions(+), 118 deletions(-) create mode 100644 target/mips/tcg/vr54xx_helper.c diff --git a/target/mips/tcg/op_helper.c b/target/mips/tcg/op_helper.c index fafbf1faca7..ef3dafcbb3f 100644 --- a/target/mips/tcg/op_helper.c +++ b/target/mips/tcg/op_helper.c @@ -26,124 +26,6 @@ #include "exec/memop.h" #include "fpu_helper.h" =20 -/* 64 bits arithmetic for 32 bits hosts */ -static inline uint64_t get_HILO(CPUMIPSState *env) -{ - return ((uint64_t)(env->active_tc.HI[0]) << 32) | - (uint32_t)env->active_tc.LO[0]; -} - -static inline target_ulong set_HIT0_LO(CPUMIPSState *env, uint64_t HILO) -{ - env->active_tc.LO[0] =3D (int32_t)(HILO & 0xFFFFFFFF); - return env->active_tc.HI[0] =3D (int32_t)(HILO >> 32); -} - -static inline target_ulong set_HI_LOT0(CPUMIPSState *env, uint64_t HILO) -{ - target_ulong tmp =3D env->active_tc.LO[0] =3D (int32_t)(HILO & 0xFFFFF= FFF); - env->active_tc.HI[0] =3D (int32_t)(HILO >> 32); - return tmp; -} - -/* Multiplication variants of the vr54xx. */ -target_ulong helper_muls(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HI_LOT0(env, 0 - ((int64_t)(int32_t)arg1 * - (int64_t)(int32_t)arg2)); -} - -target_ulong helper_mulsu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HI_LOT0(env, 0 - (uint64_t)(uint32_t)arg1 * - (uint64_t)(uint32_t)arg2); -} - -target_ulong helper_macc(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HI_LOT0(env, (int64_t)get_HILO(env) + (int64_t)(int32_t)arg= 1 * - (int64_t)(int32_t)arg2); -} - -target_ulong helper_macchi(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, (int64_t)get_HILO(env) + (int64_t)(int32_t)arg= 1 * - (int64_t)(int32_t)arg2); -} - -target_ulong helper_maccu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HI_LOT0(env, (uint64_t)get_HILO(env) + - (uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2= ); -} - -target_ulong helper_macchiu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, (uint64_t)get_HILO(env) + - (uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2= ); -} - -target_ulong helper_msac(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HI_LOT0(env, (int64_t)get_HILO(env) - (int64_t)(int32_t)arg= 1 * - (int64_t)(int32_t)arg2); -} - -target_ulong helper_msachi(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, (int64_t)get_HILO(env) - (int64_t)(int32_t)arg= 1 * - (int64_t)(int32_t)arg2); -} - -target_ulong helper_msacu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HI_LOT0(env, (uint64_t)get_HILO(env) - - (uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2= ); -} - -target_ulong helper_msachiu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, (uint64_t)get_HILO(env) - - (uint64_t)(uint32_t)arg1 * (uint64_t)(uint32_t)arg2= ); -} - -target_ulong helper_mulhi(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, (int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg= 2); -} - -target_ulong helper_mulhiu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, (uint64_t)(uint32_t)arg1 * - (uint64_t)(uint32_t)arg2); -} - -target_ulong helper_mulshi(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, 0 - (int64_t)(int32_t)arg1 * - (int64_t)(int32_t)arg2); -} - -target_ulong helper_mulshiu(CPUMIPSState *env, target_ulong arg1, - target_ulong arg2) -{ - return set_HIT0_LO(env, 0 - (uint64_t)(uint32_t)arg1 * - (uint64_t)(uint32_t)arg2); -} - static inline target_ulong bitswap(target_ulong v) { v =3D ((v >> 1) & (target_ulong)0x5555555555555555ULL) | diff --git a/target/mips/tcg/vr54xx_helper.c b/target/mips/tcg/vr54xx_helpe= r.c new file mode 100644 index 00000000000..2255bd11163 --- /dev/null +++ b/target/mips/tcg/vr54xx_helper.c @@ -0,0 +1,142 @@ +/* + * MIPS VR5432 emulation helpers + * + * Copyright (c) 2004-2005 Jocelyn Mayer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#include "qemu/osdep.h" +#include "cpu.h" +#include "exec/helper-proto.h" + +/* 64 bits arithmetic for 32 bits hosts */ +static inline uint64_t get_HILO(CPUMIPSState *env) +{ + return ((uint64_t)(env->active_tc.HI[0]) << 32) | + (uint32_t)env->active_tc.LO[0]; +} + +static inline target_ulong set_HIT0_LO(CPUMIPSState *env, uint64_t HILO) +{ + env->active_tc.LO[0] =3D (int32_t)(HILO & 0xFFFFFFFF); + return env->active_tc.HI[0] =3D (int32_t)(HILO >> 32); +} + +static inline target_ulong set_HI_LOT0(CPUMIPSState *env, uint64_t HILO) +{ + target_ulong tmp =3D env->active_tc.LO[0] =3D (int32_t)(HILO & 0xFFFFF= FFF); + env->active_tc.HI[0] =3D (int32_t)(HILO >> 32); + return tmp; +} + +/* Multiplication variants of the vr54xx. */ +target_ulong helper_muls(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HI_LOT0(env, 0 - ((int64_t)(int32_t)arg1 * + (int64_t)(int32_t)arg2)); +} + +target_ulong helper_mulsu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HI_LOT0(env, 0 - (uint64_t)(uint32_t)arg1 * + (uint64_t)(uint32_t)arg2); +} + +target_ulong helper_macc(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HI_LOT0(env, (int64_t)get_HILO(env) + (int64_t)(int32_t)arg= 1 * + (int64_t)(int32_t)arg= 2); +} + +target_ulong helper_macchi(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, (int64_t)get_HILO(env) + (int64_t)(int32_t)arg= 1 * + (int64_t)(int32_t)arg2); +} + +target_ulong helper_maccu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HI_LOT0(env, (uint64_t)get_HILO(env) + (uint64_t)(uint32_t)= arg1 * + (uint64_t)(uint32_t)= arg2); +} + +target_ulong helper_macchiu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, (uint64_t)get_HILO(env) + (uint64_t)(uint32_t)= arg1 * + (uint64_t)(uint32_t)= arg2); +} + +target_ulong helper_msac(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HI_LOT0(env, (int64_t)get_HILO(env) - (int64_t)(int32_t)arg= 1 * + (int64_t)(int32_t)arg= 2); +} + +target_ulong helper_msachi(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, (int64_t)get_HILO(env) - (int64_t)(int32_t)arg= 1 * + (int64_t)(int32_t)arg= 2); +} + +target_ulong helper_msacu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HI_LOT0(env, (uint64_t)get_HILO(env) - (uint64_t)(uint32_t)= arg1 * + (uint64_t)(uint32_t)= arg2); +} + +target_ulong helper_msachiu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, (uint64_t)get_HILO(env) - (uint64_t)(uint32_t)= arg1 * + (uint64_t)(uint32_t)= arg2); +} + +target_ulong helper_mulhi(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, (int64_t)(int32_t)arg1 * (int64_t)(int32_t)arg= 2); +} + +target_ulong helper_mulhiu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, (uint64_t)(uint32_t)arg1 * + (uint64_t)(uint32_t)arg2); +} + +target_ulong helper_mulshi(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, 0 - (int64_t)(int32_t)arg1 * + (int64_t)(int32_t)arg2); +} + +target_ulong helper_mulshiu(CPUMIPSState *env, target_ulong arg1, + target_ulong arg2) +{ + return set_HIT0_LO(env, 0 - (uint64_t)(uint32_t)arg1 * + (uint64_t)(uint32_t)arg2); +} diff --git a/target/mips/tcg/meson.build b/target/mips/tcg/meson.build index 70fa3dd57df..ff618a159b7 100644 --- a/target/mips/tcg/meson.build +++ b/target/mips/tcg/meson.build @@ -18,6 +18,7 @@ 'translate.c', 'translate_addr_const.c', 'txx9_translate.c', + 'vr54xx_helper.c', )) mips_ss.add(when: 'TARGET_MIPS64', if_true: files( 'tx79_translate.c', --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) client-ip=209.85.221.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896578; cv=none; d=zohomail.com; s=zohoarc; b=RoftzOK0oOslf2Tun7Evv2On7bTRf2Bxak6iZ2Z2GFhDwmSqOqwgkCAhfXYdrwj6CpoGhrh7xMUNhQX3YG36D0aUwKpFtB79sPlBEQ8Cf4OeM68kUoQ7TWG/BG1SDfyf/3YatIOlXt8ZeBlVmMe9O43UL3PBkaGd32BdRI5KFzE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896578; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RtJHpFNb3pDGfH1hMhE0K1VwxFwp2STcaYrJ+svwAgw=; b=idNF/GLK+dQ9UhjY6983r8xd8/E6KyOLSwWqUohczSkzHmj5TUDP/WJ6MN0anpwz5jQNCqHDhSHstpSu4Bb/MjmdP/BoKf2F8spG9jhqcjxOuyVAndI/0cSZQPRUDWReXQgOtgm+c/Bkm3qy9rH+iDueg1UT1ZcugkFU05YfnGc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mx.zohomail.com with SMTPS id 1629896578012130.6287817974312; Wed, 25 Aug 2021 06:02:58 -0700 (PDT) Received: by mail-wr1-f41.google.com with SMTP id z4so20699633wrr.6 for ; Wed, 25 Aug 2021 06:02:57 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id b18sm21202071wrr.89.2021.08.25.06.02.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RtJHpFNb3pDGfH1hMhE0K1VwxFwp2STcaYrJ+svwAgw=; b=mTQV830Lpbdys1m46U+gFyBMd+2kDTteKdgr/sFqVS87uMBXoUlkv1jtkCTUL1/s99 YSBVOOFOYVaKz6zHcXwTnWZphYx6hWuY0NDMeXnGXzRnyvVPXX3Is9MW+FikgfvxDTmf zWkJUKjsWg+xhZde1dIqiErMTgGSF4B9zGGOeEP72AgA8WG7l9gZKK20KvBODwseOiKJ eVtUDn+OdCxfMOsmdqgmsnIA3Bg+W2f4xYSpCDpTeMdm+bIRAtaOxAGpu2RUPJo2qLVi 3nbwXkIUaJ/UsddxNBRyFDB1WHWwFuEc9zWGWBDcH16mKR2G9yTYOWFduZjdMfJz8IIK bjCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=RtJHpFNb3pDGfH1hMhE0K1VwxFwp2STcaYrJ+svwAgw=; b=rqVXwSiVUBUFMjnGR3XAFT+CfCM0MbbRV4LnnB+GfJmJxq5hQgLbMDEPot7twMZudZ gBt5NVXrrC6yNRrX/gyuhZz9FM/G/NzDzQLR61sp8ZXybWYqfoH/rd0ypN81/rGQr4UV nu1wBh7hGa9AAI9miK+xSpRYlPiISXKKccMN4SRAaEGIq3DzDt7SMwNbU1qylDOtFhb6 Q6BrKe7NGVi2HRgvTYuPBnhnJulFbPG4Ay53ZItLWZx4Lq7YeZwtgso0e9VAdpUzCOk/ BTMv6nTpmfiBHuoeSgx8q13pmbuHcJLsn0/xDUQCXi5qLtYxA6itmvbknnVK50jW5b0p G9cw== X-Gm-Message-State: AOAM530u2Jjz/iGvySHm9QrQqqBPzz9p0ZWBrg3NBBN2xerkDEiPo7Kt mNmOr/3BJ743FG2Y5j9dO4Y= X-Google-Smtp-Source: ABdhPJwOpQLwTuSk6DGcPv9433VfWXwXHr3fgA6HHvdwkWnkQJzxff3gB8JZfO68+4uwKlKKeLED1A== X-Received: by 2002:adf:ea4d:: with SMTP id j13mr15573297wrn.86.1629896576180; Wed, 25 Aug 2021 06:02:56 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 09/28] target/mips: Introduce decodetree structure for NEC Vr54xx extension Date: Wed, 25 Aug 2021 15:01:52 +0200 Message-Id: <20210825130211.1542338-10-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896581014100001 The decoder is called but doesn't decode anything. This will ease reviewing the next commit. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210801235926.3178085-3-f4bug@amsat.org> Reviewed-by: Richard Henderson --- target/mips/tcg/translate.h | 1 + target/mips/tcg/vr54xx.decode | 8 ++++++++ target/mips/tcg/translate.c | 3 +++ target/mips/tcg/vr54xx_translate.c | 19 +++++++++++++++++++ target/mips/tcg/meson.build | 2 ++ 5 files changed, 33 insertions(+) create mode 100644 target/mips/tcg/vr54xx.decode create mode 100644 target/mips/tcg/vr54xx_translate.c diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index 791e3e2c7e8..bb0a6b8d74f 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -201,6 +201,7 @@ bool decode_ext_txx9(DisasContext *ctx, uint32_t insn); #if defined(TARGET_MIPS64) bool decode_ext_tx79(DisasContext *ctx, uint32_t insn); #endif +bool decode_ext_vr54xx(DisasContext *ctx, uint32_t insn); =20 /* * Helpers for implementing sets of trans_* functions. diff --git a/target/mips/tcg/vr54xx.decode b/target/mips/tcg/vr54xx.decode new file mode 100644 index 00000000000..f6b3e42c999 --- /dev/null +++ b/target/mips/tcg/vr54xx.decode @@ -0,0 +1,8 @@ +# MIPS VR5432 instruction set extensions +# +# Copyright (C) 2021 Philippe Mathieu-Daud=C3=A9 +# +# SPDX-License-Identifier: LGPL-2.1-or-later +# +# Reference: VR5432 Microprocessor User=E2=80=99s Manual +# (Document Number U13751EU5V0UM00) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 490add3fc15..34363639937 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -16098,6 +16098,9 @@ static void decode_opc(CPUMIPSState *env, DisasCont= ext *ctx) if (cpu_supports_isa(env, INSN_R5900) && decode_ext_txx9(ctx, ctx->opc= ode)) { return; } + if (cpu_supports_isa(env, INSN_VR54XX) && decode_ext_vr54xx(ctx, ctx->= opcode)) { + return; + } =20 /* ISA extensions */ if (ase_msa_available(env) && decode_ase_msa(ctx, ctx->opcode)) { diff --git a/target/mips/tcg/vr54xx_translate.c b/target/mips/tcg/vr54xx_tr= anslate.c new file mode 100644 index 00000000000..13e58fdd8df --- /dev/null +++ b/target/mips/tcg/vr54xx_translate.c @@ -0,0 +1,19 @@ +/* + * VR5432 extensions translation routines + * + * Reference: VR5432 Microprocessor User=E2=80=99s Manual + * (Document Number U13751EU5V0UM00) + * + * Copyright (c) 2021 Philippe Mathieu-Daud=C3=A9 + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "tcg/tcg-op.h" +#include "exec/helper-gen.h" +#include "translate.h" +#include "internal.h" + +/* Include the auto-generated decoder. */ +#include "decode-vr54xx.c.inc" diff --git a/target/mips/tcg/meson.build b/target/mips/tcg/meson.build index ff618a159b7..8f6f7508b66 100644 --- a/target/mips/tcg/meson.build +++ b/target/mips/tcg/meson.build @@ -2,6 +2,7 @@ decodetree.process('rel6.decode', extra_args: ['--decode=3Ddecode_isa_re= l6']), decodetree.process('msa.decode', extra_args: '--decode=3Ddecode_ase_msa'= ), decodetree.process('tx79.decode', extra_args: '--static-decode=3Ddecode_= tx79'), + decodetree.process('vr54xx.decode', extra_args: '--decode=3Ddecode_ext_v= r54xx'), ] =20 mips_ss.add(gen) @@ -19,6 +20,7 @@ 'translate_addr_const.c', 'txx9_translate.c', 'vr54xx_helper.c', + 'vr54xx_translate.c', )) mips_ss.add(when: 'TARGET_MIPS64', if_true: files( 'tx79_translate.c', --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896582; cv=none; d=zohomail.com; s=zohoarc; b=HtyihC0VEZ9Y7tXT5ppAC0VeSUg8XYuhvrwGlg5qxNNilGEBCUv7NVli7WMVSgAQ7E5Igv3c/oS4U+c/O0j5lvAFGksZwIKHxw55uuhBRmgmKqhgGRWMgLIqTnOCXD2IvNd1o0f4se1TNQdPCEe+NlqB7DzC9P6J73x/1oJMnRA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896582; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LZap06vt4iJXyncO8vRLHIVIRkkdsRFHm2whoM92bZc=; b=mwo3Omfy7YrUTiBnywaV7WOx8AS+6c4KGk/8NKDdlw3uxYl2Rz9SzzSNllPBxHgA0NyqroAE3nFW0j6Y8n11YTup2kwnMwMpvfkVbT1QsbAsqzmo7Qr7a+T/DL3rLcdr2k2ih0FQtrP1z8cD+gx+HffIi8x9DbQEaHZXOe6mcr4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 1629896582885541.7721705196834; Wed, 25 Aug 2021 06:03:02 -0700 (PDT) Received: by mail-wr1-f49.google.com with SMTP id q11so9389089wrr.9 for ; Wed, 25 Aug 2021 06:03:02 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id m12sm4770251wrq.29.2021.08.25.06.02.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LZap06vt4iJXyncO8vRLHIVIRkkdsRFHm2whoM92bZc=; b=T5pjpeHl7MMnKujbgucKKqvO+I1ucFdjcEnJ3Wkek3ydJLzbfwqzKWbOm/1FyZZe5/ shymscM/wEvL/BkvYtZLNraUGdIy2dFtL66+apgf0wtfeOtz66mfkEyOR7FKU8XEvtOs QGH2mg3vENjq479SE12kvvRCp2RjFyAfn5VMX5pkNRuDtZnu8zHyr/rPA0dF93tlW22n f/e6Rve+n6LJRxwq9JH7jff680pqsqSvdTVLdGuee/AhNxiKF82fv7EGDLHIonUgoHBi i1ZslJSSrrsebQmDeY2Kso6wdA1/rnmi17qMalk824PmAH9wOo4c3+r3KuRn6TfVL5TF gx8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=LZap06vt4iJXyncO8vRLHIVIRkkdsRFHm2whoM92bZc=; b=fyJrS7a1OyZdc2WX+eDGLKlvxAxy5EQxfbVAleciMybBiVO9MSztVytn7x5nPY66qH AsaId01k4XWHDeiSG0ZH9VIl29dAVItW+No6yFb+vFOIfYGm/X5/Gvyo7mAlbsi1mmgd ZSxT9TLKyFhNNUbN4Mj8SLjRNsKSccCe6eTqfYemti0LWKJNY+AH2gnR2Ix3xoL+t3+k wZXxEKyatRN99RpR27O8yfd/nTaMab3YAiZfoEnxMBz0aIKxitMLyvopqEziRBGsnXdB JVqFtMAXXC3Ei+kETdbvIhUl/O7LlboeQMALCn26ZzBQMgGhb3C59AA9d1TICi18nvMd ZHFA== X-Gm-Message-State: AOAM531Ua+LCVqmUdlnyV6sW46CjvJBGal0C0BjZSvxnrVyoiJKorETm /vOquI/jxu3JFsT5qByrAjo= X-Google-Smtp-Source: ABdhPJwntRhH9ALzT3dnleKVhQGNHcsUm+37bTc45wLA7KpCylKACPUZBnC33KBShOkkYaqVdxf4AA== X-Received: by 2002:adf:e6c5:: with SMTP id y5mr20893871wrm.198.1629896580653; Wed, 25 Aug 2021 06:03:00 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 10/28] target/mips: Convert Vr54xx MACC* opcodes to decodetree Date: Wed, 25 Aug 2021 15:01:53 +0200 Message-Id: <20210825130211.1542338-11-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896585733100001 Convert the following Integer Multiply-Accumulate opcodes: * MACC Multiply, accumulate, and move LO * MACCHI Multiply, accumulate, and move HI * MACCHIU Unsigned multiply, accumulate, and move HI * MACCU Unsigned multiply, accumulate, and move LO Since all opcodes are generated using the same pattern, we add the gen_helper_mult_acc_t typedef and MULT_ACC() macro to remove boilerplate code. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210808173018.90960-6-f4bug@amsat.org> --- target/mips/tcg/vr54xx.decode | 9 ++++++++ target/mips/tcg/translate.c | 16 --------------- target/mips/tcg/vr54xx_translate.c | 33 ++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/target/mips/tcg/vr54xx.decode b/target/mips/tcg/vr54xx.decode index f6b3e42c999..73778f101a5 100644 --- a/target/mips/tcg/vr54xx.decode +++ b/target/mips/tcg/vr54xx.decode @@ -6,3 +6,12 @@ # # Reference: VR5432 Microprocessor User=E2=80=99s Manual # (Document Number U13751EU5V0UM00) + +&r rs rt rd + +@rs_rt_rd ...... rs:5 rt:5 rd:5 ..... ...... &r + +MACC 000000 ..... ..... ..... 00101011000 @rs_rt_rd +MACCU 000000 ..... ..... ..... 00101011001 @rs_rt_rd +MACCHI 000000 ..... ..... ..... 01101011000 @rs_rt_rd +MACCHIU 000000 ..... ..... ..... 01101011001 @rs_rt_rd diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 34363639937..fd8ffadf06e 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -300,16 +300,12 @@ enum { enum { OPC_VR54XX_MULS =3D (0x03 << 6) | OPC_MULT, OPC_VR54XX_MULSU =3D (0x03 << 6) | OPC_MULTU, - OPC_VR54XX_MACC =3D (0x05 << 6) | OPC_MULT, - OPC_VR54XX_MACCU =3D (0x05 << 6) | OPC_MULTU, OPC_VR54XX_MSAC =3D (0x07 << 6) | OPC_MULT, OPC_VR54XX_MSACU =3D (0x07 << 6) | OPC_MULTU, OPC_VR54XX_MULHI =3D (0x09 << 6) | OPC_MULT, OPC_VR54XX_MULHIU =3D (0x09 << 6) | OPC_MULTU, OPC_VR54XX_MULSHI =3D (0x0B << 6) | OPC_MULT, OPC_VR54XX_MULSHIU =3D (0x0B << 6) | OPC_MULTU, - OPC_VR54XX_MACCHI =3D (0x0D << 6) | OPC_MULT, - OPC_VR54XX_MACCHIU =3D (0x0D << 6) | OPC_MULTU, OPC_VR54XX_MSACHI =3D (0x0F << 6) | OPC_MULT, OPC_VR54XX_MSACHIU =3D (0x0F << 6) | OPC_MULTU, }; @@ -3780,12 +3776,6 @@ static void gen_mul_vr54xx(DisasContext *ctx, uint32= _t opc, case OPC_VR54XX_MULSU: gen_helper_mulsu(t0, cpu_env, t0, t1); break; - case OPC_VR54XX_MACC: - gen_helper_macc(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MACCU: - gen_helper_maccu(t0, cpu_env, t0, t1); - break; case OPC_VR54XX_MSAC: gen_helper_msac(t0, cpu_env, t0, t1); break; @@ -3804,12 +3794,6 @@ static void gen_mul_vr54xx(DisasContext *ctx, uint32= _t opc, case OPC_VR54XX_MULSHIU: gen_helper_mulshiu(t0, cpu_env, t0, t1); break; - case OPC_VR54XX_MACCHI: - gen_helper_macchi(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MACCHIU: - gen_helper_macchiu(t0, cpu_env, t0, t1); - break; case OPC_VR54XX_MSACHI: gen_helper_msachi(t0, cpu_env, t0, t1); break; diff --git a/target/mips/tcg/vr54xx_translate.c b/target/mips/tcg/vr54xx_tr= anslate.c index 13e58fdd8df..0e2d460c985 100644 --- a/target/mips/tcg/vr54xx_translate.c +++ b/target/mips/tcg/vr54xx_translate.c @@ -17,3 +17,36 @@ =20 /* Include the auto-generated decoder. */ #include "decode-vr54xx.c.inc" + +/* + * Integer Multiply-Accumulate Instructions + * + * MACC Multiply, accumulate, and move LO + * MACCHI Multiply, accumulate, and move HI + * MACCHIU Unsigned multiply, accumulate, and move HI + * MACCU Unsigned multiply, accumulate, and move LO + */ + +static bool trans_mult_acc(DisasContext *ctx, arg_r *a, + void (*gen_helper_mult_acc)(TCGv, TCGv_ptr, TCG= v, TCGv)) +{ + TCGv t0 =3D tcg_temp_new(); + TCGv t1 =3D tcg_temp_new(); + + gen_load_gpr(t0, a->rs); + gen_load_gpr(t1, a->rt); + + gen_helper_mult_acc(t0, cpu_env, t0, t1); + + gen_store_gpr(t0, a->rd); + + tcg_temp_free(t0); + tcg_temp_free(t1); + + return false; +} + +TRANS(MACC, trans_mult_acc, gen_helper_macc); +TRANS(MACCHI, trans_mult_acc, gen_helper_macchi); +TRANS(MACCHIU, trans_mult_acc, gen_helper_macchiu); +TRANS(MACCU, trans_mult_acc, gen_helper_maccu); --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896587; cv=none; d=zohomail.com; s=zohoarc; b=Grm+F8HdVANA6EWC19JVEpaQ0zWtY557o7DfdvHSEmJyvrn6DrZTxl86MtRdnHrqztK4MMVrcy6V6zEGemv82Pc9P8084TE563+d1aiwkRczffcpmR6FZUm5A5SynZURH2nYeY39ZRb/GllhAkbVqk25VnBMJ74zcaQc/xkj1Yw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896587; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1InHLDyLMoVIPgUl5N57kBbU8uQ5248f3m0OzX9ka6c=; b=DQr6/5QA05mneRyXbqer8Z7lrwg7ifM/pA0zYTYfiyPATUrxnB7ds7l0TM2JQg8r/RC1DN6LkMtpn7i11egmK+8Jw9Z02X6ElVUG0fJCZ6CsKE29esCJFxxDF4PH9DHoY0b64YnaxTRrc0K4M4yPQmhMZPVRRK/a6pWnq6pPjEY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 1629896587546142.56032173744734; Wed, 25 Aug 2021 06:03:07 -0700 (PDT) Received: by mail-wr1-f49.google.com with SMTP id h13so36392584wrp.1 for ; Wed, 25 Aug 2021 06:03:06 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id q9sm5720738wrs.3.2021.08.25.06.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1InHLDyLMoVIPgUl5N57kBbU8uQ5248f3m0OzX9ka6c=; b=dDCd5pDYUGUOHXFOQhjfq0rCpErfu+Xpf9EwjwxvKHCUjMjjIuv4/JNbctKMMTYaFM qblSzjzWzU5/VbZ4vPQlER+jw86MxWjdTegImJ9wuL0JVazBEH0vgyleEjZbUB0GviXb F3jo6lQyWafBqojw1wwz/2VlJIrof7lCacLXBHo1ADeAk0YH+NZQRqGoMLq5QKzQwgTa w4RxacV04V3ENPp4yt+YQaVXHJHVamfY54dlaHFTkwF+ZAvg+G7ly/uyFhG4mHFUQ5Zq XTg37ivUiCeXhwgm/CPr8PoS2wmWdMq6K6erxZ/BH8tM6lac3hseYqC5DiJBa6+CpEYC LXJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=1InHLDyLMoVIPgUl5N57kBbU8uQ5248f3m0OzX9ka6c=; b=Dh50N1bBYOFO1GROzhKrDztzKictL9aPS22mWmNUBLNUw+F4MEw4ZGgfcCBKiAooPQ pp0JNKyHdp695ddhp/xxYVR0a2XxOaSZsg+gaVmMRh1c6OOgF9ZqSQAV+8upp/ckE591 cjKtNF39IxEIkqsfKM+DA1HEoQvPNhlroeZThn5vaRGKbizKMVFY/KRA4rmDTIspjrJ8 iooVJxEjL05XTfuJZA9z2X4F93WKF7ViqJlql2IcCHCFhPNG9NFDiz4yJooCRDajnwHb 2kQYcLoJTEddjf5xW+E5hTHne+LcZdmWrtQNO1gVFtBCbE7zLPETXs1GRZLThgtCRNhe x4Yw== X-Gm-Message-State: AOAM533lpNVkxY/4Bg9AKQq2T9Xfq0txicgUY5YOGK459Bcg08Mzdl+L gvINjXsZzw/6Wgv29gSqwSY= X-Google-Smtp-Source: ABdhPJzKkqB3/Bv0Kt6O+2Zd6VNCmW5UzFD3ukl+93R4AWAckFZtRiU4MV7XWbc1LDNDV0As3f0c2g== X-Received: by 2002:a5d:67c6:: with SMTP id n6mr25164076wrw.150.1629896585348; Wed, 25 Aug 2021 06:03:05 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 11/28] target/mips: Convert Vr54xx MUL* opcodes to decodetree Date: Wed, 25 Aug 2021 15:01:54 +0200 Message-Id: <20210825130211.1542338-12-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896590553100001 Convert the following Integer Multiply-Accumulate opcodes: * MULHI Multiply and move HI * MULHIU Unsigned multiply and move HI * MULS Multiply, negate, and move LO * MULSHI Multiply, negate, and move HI * MULSHIU Unsigned multiply, negate, and move HI * MULSU Unsigned multiply, negate, and move LO Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210808173018.90960-7-f4bug@amsat.org> --- target/mips/tcg/vr54xx.decode | 6 ++++++ target/mips/tcg/translate.c | 24 ------------------------ target/mips/tcg/vr54xx_translate.c | 12 ++++++++++++ 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/target/mips/tcg/vr54xx.decode b/target/mips/tcg/vr54xx.decode index 73778f101a5..79bb5175eab 100644 --- a/target/mips/tcg/vr54xx.decode +++ b/target/mips/tcg/vr54xx.decode @@ -11,7 +11,13 @@ =20 @rs_rt_rd ...... rs:5 rt:5 rd:5 ..... ...... &r =20 +MULS 000000 ..... ..... ..... 00011011000 @rs_rt_rd +MULSU 000000 ..... ..... ..... 00011011001 @rs_rt_rd MACC 000000 ..... ..... ..... 00101011000 @rs_rt_rd MACCU 000000 ..... ..... ..... 00101011001 @rs_rt_rd +MULHI 000000 ..... ..... ..... 01001011000 @rs_rt_rd +MULHIU 000000 ..... ..... ..... 01001011001 @rs_rt_rd +MULSHI 000000 ..... ..... ..... 01011011000 @rs_rt_rd +MULSHIU 000000 ..... ..... ..... 01011011001 @rs_rt_rd MACCHI 000000 ..... ..... ..... 01101011000 @rs_rt_rd MACCHIU 000000 ..... ..... ..... 01101011001 @rs_rt_rd diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index fd8ffadf06e..4b7f2d9ae8b 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -298,14 +298,8 @@ enum { #define MASK_MUL_VR54XX(op) (MASK_SPECIAL(op) | (op & (0x1F << 6))) =20 enum { - OPC_VR54XX_MULS =3D (0x03 << 6) | OPC_MULT, - OPC_VR54XX_MULSU =3D (0x03 << 6) | OPC_MULTU, OPC_VR54XX_MSAC =3D (0x07 << 6) | OPC_MULT, OPC_VR54XX_MSACU =3D (0x07 << 6) | OPC_MULTU, - OPC_VR54XX_MULHI =3D (0x09 << 6) | OPC_MULT, - OPC_VR54XX_MULHIU =3D (0x09 << 6) | OPC_MULTU, - OPC_VR54XX_MULSHI =3D (0x0B << 6) | OPC_MULT, - OPC_VR54XX_MULSHIU =3D (0x0B << 6) | OPC_MULTU, OPC_VR54XX_MSACHI =3D (0x0F << 6) | OPC_MULT, OPC_VR54XX_MSACHIU =3D (0x0F << 6) | OPC_MULTU, }; @@ -3770,30 +3764,12 @@ static void gen_mul_vr54xx(DisasContext *ctx, uint3= 2_t opc, gen_load_gpr(t1, rt); =20 switch (opc) { - case OPC_VR54XX_MULS: - gen_helper_muls(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MULSU: - gen_helper_mulsu(t0, cpu_env, t0, t1); - break; case OPC_VR54XX_MSAC: gen_helper_msac(t0, cpu_env, t0, t1); break; case OPC_VR54XX_MSACU: gen_helper_msacu(t0, cpu_env, t0, t1); break; - case OPC_VR54XX_MULHI: - gen_helper_mulhi(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MULHIU: - gen_helper_mulhiu(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MULSHI: - gen_helper_mulshi(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MULSHIU: - gen_helper_mulshiu(t0, cpu_env, t0, t1); - break; case OPC_VR54XX_MSACHI: gen_helper_msachi(t0, cpu_env, t0, t1); break; diff --git a/target/mips/tcg/vr54xx_translate.c b/target/mips/tcg/vr54xx_tr= anslate.c index 0e2d460c985..9f35b2c7e5d 100644 --- a/target/mips/tcg/vr54xx_translate.c +++ b/target/mips/tcg/vr54xx_translate.c @@ -25,6 +25,12 @@ * MACCHI Multiply, accumulate, and move HI * MACCHIU Unsigned multiply, accumulate, and move HI * MACCU Unsigned multiply, accumulate, and move LO + * MULHI Multiply and move HI + * MULHIU Unsigned multiply and move HI + * MULS Multiply, negate, and move LO + * MULSHI Multiply, negate, and move HI + * MULSHIU Unsigned multiply, negate, and move HI + * MULSU Unsigned multiply, negate, and move LO */ =20 static bool trans_mult_acc(DisasContext *ctx, arg_r *a, @@ -50,3 +56,9 @@ TRANS(MACC, trans_mult_acc, gen_helper_macc); TRANS(MACCHI, trans_mult_acc, gen_helper_macchi); TRANS(MACCHIU, trans_mult_acc, gen_helper_macchiu); TRANS(MACCU, trans_mult_acc, gen_helper_maccu); +TRANS(MULHI, trans_mult_acc, gen_helper_mulhi); +TRANS(MULHIU, trans_mult_acc, gen_helper_mulhiu); +TRANS(MULS, trans_mult_acc, gen_helper_muls); +TRANS(MULSHI, trans_mult_acc, gen_helper_mulshi); +TRANS(MULSHIU, trans_mult_acc, gen_helper_mulshiu); +TRANS(MULSU, trans_mult_acc, gen_helper_mulsu); --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) client-ip=209.85.128.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896594; cv=none; d=zohomail.com; s=zohoarc; b=Ylh4ffrZkh3Vppr6oFd1Dg2vwBBwwdkGJ9/dmrY05aoDs0NDBMkb9R2xo6NpQjmTvH6bNXxodE+7yfkSvGKN/wLWtu3tBNRImiSjtSZrKYqp/NoP40n9HCKfYnD+GzTXUyDgkk2jtVjJlzZsblnyDqq24xdImyf9UXSxolxrlkc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896594; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=er8ButREjqGKw2HRUsf24tELcm71bKaLsDkb4+v1DCk=; b=T9W9ESf1LQwUewL74H/anQDsjmPeyHoakkNn6f1zT1qx8TTlgHi1yGpnx/vV+1Mhnx3qg9DQfsuwbZSK0DVkYtCy2gdgoR8db1h66SZ45tg9IVTblXky4Z91RHYoSwplqYcp4zrtthb5E9woFF8+Q5Pq6DtSAS5q6LywAybQ51s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.zohomail.com with SMTPS id 1629896594042348.94639452465367; Wed, 25 Aug 2021 06:03:14 -0700 (PDT) Received: by mail-wm1-f42.google.com with SMTP id m25-20020a7bcb99000000b002e751bcb5dbso4520164wmi.5 for ; Wed, 25 Aug 2021 06:03:12 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id f7sm5315986wmh.20.2021.08.25.06.03.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=er8ButREjqGKw2HRUsf24tELcm71bKaLsDkb4+v1DCk=; b=JoaQiTurLPEF4hzw2BbzKi1UfUXy42JdqnSZK69L/1aiTSGG0vFiAt3Q8hvVu1ELkC z0oaK8+OAAOfsyMPCQgrioIHrpQl9rJAnOFBc+f3zMhQa6qE1FmPqvyHPUPUqJcwnEtZ ljapwhHkHJjF8XjmE8/Ic2yj3fzhcO6mzUakf1gx6lPnMtky56Lc2ELP+2jKwaq+CHV0 pwvIylK0iqEupXjb2MckNdgjE3/YNmVgbuTtW023m/iIypkhj9SSYwTlSIz65ABYwCii iUvPGWt9BtCNq325+ikH+wPiWMv5q7i2BF+nb0YM9YXkx4puk6xASmO/avnSuMfnsEZe uwpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=er8ButREjqGKw2HRUsf24tELcm71bKaLsDkb4+v1DCk=; b=YCknCYhYWiRIJtgt0AL/WIbdf6vDl6ce0hVJD3eUAJdPFncPsj4nOhTZ7Jy9+zu5o+ 88wfiP6Yf7QMH7GL979kfnYwhVDr89cfpL6A9rsGEI8iD4FeZZwgtZjJ0CiHfCSd9QSN 19VM3K2nGmxb7PCUjkrSG2I95+F5MNOkxdneFGk4LggteC4gnMAbzMumiLEGL5XtRrSC GWyJufv1QK8qapaZKDdc/028Usw1dJWJovY7P0OyjXx0BmkpE3MliXpuabRbj7lCrZOn TpUbS1Jx7DFYG/T0hk0B3QjwtphO4nANlCdMlZ86SWJtg//fL9I1MUlyGCaSzkVZt/4f BFqA== X-Gm-Message-State: AOAM532St1zzrcD/dE+2Wd4LYVzfSdzR6PKRGGlBBgVwxSmZjV62IWiF wW63musIgd/mfBmtuX8K/co= X-Google-Smtp-Source: ABdhPJxLyfuuiNcCWKxxXVyhQF3ziIh2FSAOwlqDKzLfyhk9MCtXT/f79U/IVEUA970KuphMRRKsRw== X-Received: by 2002:a05:600c:b46:: with SMTP id k6mr8920094wmr.35.1629896589852; Wed, 25 Aug 2021 06:03:09 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 12/28] target/mips: Convert Vr54xx MSA* opcodes to decodetree Date: Wed, 25 Aug 2021 15:01:55 +0200 Message-Id: <20210825130211.1542338-13-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896595583100001 Convert the following Integer Multiply-Accumulate opcodes: * MSAC Multiply, negate, accumulate, and move LO * MSACHI Multiply, negate, accumulate, and move HI * MSACHIU Unsigned multiply, negate, accumulate, and move HI * MSACU Unsigned multiply, negate, accumulate, and move LO Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20210808173018.90960-8-f4bug@amsat.org> --- target/mips/tcg/vr54xx.decode | 4 +++ target/mips/tcg/translate.c | 55 ++---------------------------- target/mips/tcg/vr54xx_translate.c | 8 +++++ 3 files changed, 14 insertions(+), 53 deletions(-) diff --git a/target/mips/tcg/vr54xx.decode b/target/mips/tcg/vr54xx.decode index 79bb5175eab..4fc708d80ae 100644 --- a/target/mips/tcg/vr54xx.decode +++ b/target/mips/tcg/vr54xx.decode @@ -15,9 +15,13 @@ MULS 000000 ..... ..... ..... 00011011000 = @rs_rt_rd MULSU 000000 ..... ..... ..... 00011011001 @rs_rt_rd MACC 000000 ..... ..... ..... 00101011000 @rs_rt_rd MACCU 000000 ..... ..... ..... 00101011001 @rs_rt_rd +MSAC 000000 ..... ..... ..... 00111011000 @rs_rt_rd +MSACU 000000 ..... ..... ..... 00111011001 @rs_rt_rd MULHI 000000 ..... ..... ..... 01001011000 @rs_rt_rd MULHIU 000000 ..... ..... ..... 01001011001 @rs_rt_rd MULSHI 000000 ..... ..... ..... 01011011000 @rs_rt_rd MULSHIU 000000 ..... ..... ..... 01011011001 @rs_rt_rd MACCHI 000000 ..... ..... ..... 01101011000 @rs_rt_rd MACCHIU 000000 ..... ..... ..... 01101011001 @rs_rt_rd +MSACHI 000000 ..... ..... ..... 01111011000 @rs_rt_rd +MSACHIU 000000 ..... ..... ..... 01111011001 @rs_rt_rd diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 4b7f2d9ae8b..30780deb96f 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -294,16 +294,6 @@ enum { R6_OPC_SDBBP =3D 0x0e | OPC_SPECIAL, }; =20 -/* Multiplication variants of the vr54xx. */ -#define MASK_MUL_VR54XX(op) (MASK_SPECIAL(op) | (op & (0x1F << 6))) - -enum { - OPC_VR54XX_MSAC =3D (0x07 << 6) | OPC_MULT, - OPC_VR54XX_MSACU =3D (0x07 << 6) | OPC_MULTU, - OPC_VR54XX_MSACHI =3D (0x0F << 6) | OPC_MULT, - OPC_VR54XX_MSACHIU =3D (0x0F << 6) | OPC_MULTU, -}; - /* REGIMM (rt field) opcodes */ #define MASK_REGIMM(op) (MASK_OP_MAJOR(op) | (op & (0x1F << 16= ))) =20 @@ -3754,40 +3744,6 @@ static void gen_mul_txx9(DisasContext *ctx, uint32_t= opc, tcg_temp_free(t1); } =20 -static void gen_mul_vr54xx(DisasContext *ctx, uint32_t opc, - int rd, int rs, int rt) -{ - TCGv t0 =3D tcg_temp_new(); - TCGv t1 =3D tcg_temp_new(); - - gen_load_gpr(t0, rs); - gen_load_gpr(t1, rt); - - switch (opc) { - case OPC_VR54XX_MSAC: - gen_helper_msac(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MSACU: - gen_helper_msacu(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MSACHI: - gen_helper_msachi(t0, cpu_env, t0, t1); - break; - case OPC_VR54XX_MSACHIU: - gen_helper_msachiu(t0, cpu_env, t0, t1); - break; - default: - MIPS_INVAL("mul vr54xx"); - gen_reserved_instruction(ctx); - goto out; - } - gen_store_gpr(t0, rd); - - out: - tcg_temp_free(t0); - tcg_temp_free(t1); -} - static void gen_cl(DisasContext *ctx, uint32_t opc, int rd, int rs) { @@ -14104,13 +14060,12 @@ static void decode_opc_special_tx79(CPUMIPSState = *env, DisasContext *ctx) =20 static void decode_opc_special_legacy(CPUMIPSState *env, DisasContext *ctx) { - int rs, rt, rd, sa; + int rs, rt, rd; uint32_t op1; =20 rs =3D (ctx->opcode >> 21) & 0x1f; rt =3D (ctx->opcode >> 16) & 0x1f; rd =3D (ctx->opcode >> 11) & 0x1f; - sa =3D (ctx->opcode >> 6) & 0x1f; =20 op1 =3D MASK_SPECIAL(ctx->opcode); switch (op1) { @@ -14140,13 +14095,7 @@ static void decode_opc_special_legacy(CPUMIPSState= *env, DisasContext *ctx) break; case OPC_MULT: case OPC_MULTU: - if (sa) { - check_insn(ctx, INSN_VR54XX); - op1 =3D MASK_MUL_VR54XX(ctx->opcode); - gen_mul_vr54xx(ctx, op1, rd, rs, rt); - } else { - gen_muldiv(ctx, op1, rd & 3, rs, rt); - } + gen_muldiv(ctx, op1, rd & 3, rs, rt); break; case OPC_DIV: case OPC_DIVU: diff --git a/target/mips/tcg/vr54xx_translate.c b/target/mips/tcg/vr54xx_tr= anslate.c index 9f35b2c7e5d..3e2c98f2c6a 100644 --- a/target/mips/tcg/vr54xx_translate.c +++ b/target/mips/tcg/vr54xx_translate.c @@ -25,6 +25,10 @@ * MACCHI Multiply, accumulate, and move HI * MACCHIU Unsigned multiply, accumulate, and move HI * MACCU Unsigned multiply, accumulate, and move LO + * MSAC Multiply, negate, accumulate, and move LO + * MSACHI Multiply, negate, accumulate, and move HI + * MSACHIU Unsigned multiply, negate, accumulate, and move HI + * MSACU Unsigned multiply, negate, accumulate, and move LO * MULHI Multiply and move HI * MULHIU Unsigned multiply and move HI * MULS Multiply, negate, and move LO @@ -56,6 +60,10 @@ TRANS(MACC, trans_mult_acc, gen_helper_macc); TRANS(MACCHI, trans_mult_acc, gen_helper_macchi); TRANS(MACCHIU, trans_mult_acc, gen_helper_macchiu); TRANS(MACCU, trans_mult_acc, gen_helper_maccu); +TRANS(MSAC, trans_mult_acc, gen_helper_msac); +TRANS(MSACHI, trans_mult_acc, gen_helper_msachi); +TRANS(MSACHIU, trans_mult_acc, gen_helper_msachiu); +TRANS(MSACU, trans_mult_acc, gen_helper_msacu); TRANS(MULHI, trans_mult_acc, gen_helper_mulhi); TRANS(MULHIU, trans_mult_acc, gen_helper_mulhiu); TRANS(MULS, trans_mult_acc, gen_helper_muls); --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) client-ip=209.85.128.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896596; cv=none; d=zohomail.com; s=zohoarc; b=C3BlPVdmQIvgHHZnqyTuFMSIzeekBTdl3qTkvWNv7fQvYI9MZwsaHlx0Xj8vE2qPlARiabbkiVDQMeR85uBbXKDVrsBtpKYBbjZuXZN1OtEAhC6wOY+AwKBI1qNYabi3oTkN+Omg7m2NN6O66U5qSHh5mnkj7w05+wui+tkOohg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896596; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Kjbo44C+aLSAcGoSs3bQbdHITtr6Uuw/aGDBMO9Ay24=; b=ZDHqNGuCUymGNKUPKwX4HmYEy6Av9MCLYHq3BcgX6iSS7DGguD02rgPRwA/wNCESZZ6Bi/wQE6ZtRe3MTbAj70ih9H2ZFjjVM3qDOPJYqAF+D5oKMAwMixUYx16OK1JVRILz8a+1Xs/Mchrodp8GdwhYmoNSVDfvUVHCmAZAzU0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.zohomail.com with SMTPS id 1629896596071450.15687258868945; Wed, 25 Aug 2021 06:03:16 -0700 (PDT) Received: by mail-wm1-f51.google.com with SMTP id c8-20020a7bc008000000b002e6e462e95fso4250366wmb.2 for ; Wed, 25 Aug 2021 06:03:15 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id n4sm6640372wri.78.2021.08.25.06.03.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Kjbo44C+aLSAcGoSs3bQbdHITtr6Uuw/aGDBMO9Ay24=; b=ML78U4CiUiN502HOsW40Y6kVgwngsWhirhSDatD4U2XtgXDaIVgbZlZvhzgRR1wY4J AN1igNpbodzHqwXJbQuuYmWFORzTSRV6wtRsbhJcWGC6TKTidgZDqpou7fCQXorbDaHZ oyfzUsK9ZAv09EhyJBzAKonvAEtR23kp/agmGMv3Lc95i9FIGOo3KcOF5aE9bIJuEwR+ BH/N2STJXuRJABzk/SkEtH5Pbjg9LpVNam/JiKQo9QTqLMSEak+m/YkYnqT0PY+l4PVq zZeZANMUPs36S/5XNcGBLeSD/vOKTpR+LSaEDduqDtawVrOL0wqAO5BfxhYE3JCUlmcy IB8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Kjbo44C+aLSAcGoSs3bQbdHITtr6Uuw/aGDBMO9Ay24=; b=dnM35JxthvaM5ZO0c06gLa/haWdlznMo0pktKGlSPUyDUsq+o3Q0QcvacFsbNqRu9J ySJgYKQOr//L6QzcO3wtAGWPU/Y/mcOywyYIVBjhUZdXVkYwRzuLl2jHNnoY2IyXB0Lx MLFlbPfUofPFZgICUp5l1tCtoAd8nxieT0Y0YMe7nMrKtBTO+NmQEl/9O2QgZHXOZhZH Z2UL3SAFOZsJZ7BgHYrPoWVg84DcmX5ncGNFc0yuP9HmgkmFtMOs+2vkMtdxSJ4cdkYZ Oig42h+wPbFoaY10QO1OpQ50QNlmkM12E42pLiw0psZVkRTs5hbF8/Yp+E58b5I2Z7fN UFsA== X-Gm-Message-State: AOAM531dsHYnCNe+4UdB0d0xPyu0Qw98IbpIwi6XfQPSy3/1FYs+nsN1 h3EUX07VvCAFpbFBnGmtyX8= X-Google-Smtp-Source: ABdhPJyxbV1cugjobW9uTxc0iPNTDI2KK5KoSWshZ79MVs41sPP/lFmRcAXMo0dQ3n7cX1peNrvCKQ== X-Received: by 2002:a05:600c:154f:: with SMTP id f15mr9023526wmg.124.1629896594311; Wed, 25 Aug 2021 06:03:14 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Huacai Chen Subject: [PULL 13/28] target/mips: Document Loongson-3A CPU definitions Date: Wed, 25 Aug 2021 15:01:56 +0200 Message-Id: <20210825130211.1542338-14-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896599340100001 Document the cores on which each Loongson-3A CPU is based (see commit af868995e1b, "target/mips: Add Loongson-3 CPU definition"). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Huacai Chen Message-Id: <20210813110149.1432692-2-f4bug@amsat.org> --- target/mips/cpu-defs.c.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/mips/cpu-defs.c.inc b/target/mips/cpu-defs.c.inc index e03b2a998cd..c6ab3af190e 100644 --- a/target/mips/cpu-defs.c.inc +++ b/target/mips/cpu-defs.c.inc @@ -805,7 +805,7 @@ const mips_def_t mips_defs[] =3D .mmu_type =3D MMU_TYPE_R4000, }, { - .name =3D "Loongson-3A1000", + .name =3D "Loongson-3A1000", /* Loongson-3A R1, GS464-based */ .CP0_PRid =3D 0x6305, /* 64KB I-cache and d-cache. 4 way with 32 bit cache line size. */ .CP0_Config0 =3D MIPS_CONFIG0 | (0x1 << CP0C0_AR) | (0x2 << CP0C0_= AT) | @@ -835,7 +835,7 @@ const mips_def_t mips_defs[] =3D .mmu_type =3D MMU_TYPE_R4000, }, { - .name =3D "Loongson-3A4000", /* GS464V-based */ + .name =3D "Loongson-3A4000", /* Loongson-3A R4, GS464V-based */ .CP0_PRid =3D 0x14C000, /* 64KB I-cache and d-cache. 4 way with 32 bit cache line size. */ .CP0_Config0 =3D MIPS_CONFIG0 | (0x1 << CP0C0_AR) | (0x2 << CP0C0_= AT) | --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) client-ip=209.85.128.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896600; cv=none; d=zohomail.com; s=zohoarc; b=XKpm7Um0AxD4qDh1ykqdKvoFL2fA7oWdJkVCRDqLRGlA8h0AU6K2r7d1d5707BJFeU3ljDVidd4dPuRrGogScGPLanw8Nb8gAsoO2iul2FTcy/qhnmTRNfAo0UIXOpKl4LTBEFCTOFavk31dVKxUEwFREqOYFjmMjo7E8RfHpK4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896600; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7K4agRCBaycik3Kl53uHvRTckq1KBjkJxVACY1s8PEc=; b=JUhKX4+vFDYofz2xZSKKAOKz9O6yh9lQ1u2KFxi40a9qbkb2e9mQRvUDD9467BxVpMNw/cEAme8j4bsQ3sGheGzN7Swp9Ksy9UNIYT0PTgrNbDOtrm638cph9E/mL3Y23IfFf71RsyMDEmLPeH0ldqk99ljRjPmKrlkF8b+AQtE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.zohomail.com with SMTPS id 1629896600565557.0170460496159; Wed, 25 Aug 2021 06:03:20 -0700 (PDT) Received: by mail-wm1-f41.google.com with SMTP id j17-20020a05600c1c1100b002e754875260so4530994wms.4 for ; Wed, 25 Aug 2021 06:03:20 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id p11sm1892558wma.16.2021.08.25.06.03.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7K4agRCBaycik3Kl53uHvRTckq1KBjkJxVACY1s8PEc=; b=IboX7k+qJsZB+NrThlzjpON6eM2UR/hSngZ0BNiV8sce0If9Gnif03rQEiebE4BgBa gmdETwYXLKD5UQ0mQnuELgnmaOHzwkXd2dwecf3F9q02Ioh1INbeGvn1Wl4MQFXn5wnf AAChC6jDQcpgArmrAg7xp/2MwJSyNanA8GY7Lmpp5PF0Y3OlefjXMrilSkTgJJJ8PwNg IzZ3TB4PaJXLbOW452jvPE/BbhJiSAlNP+wZA3ouJnmvlPOc5Nf8Y7kkVcDNXPfSPNgn R7LISy3+fvleVBiQHmpiphgu80ZRtVENYwO8Tjclc8qX9IBrWE4gOm3C2gOCxDMekFTc ldMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=7K4agRCBaycik3Kl53uHvRTckq1KBjkJxVACY1s8PEc=; b=uhlF6lbgn8sAjSIfxOo+cUKd7lLs6m6VDmPbPdxkDybe6YYw24MMkmQWNRzn7wNx6d RkIexm+cKrnBe3gi962TRJl4bzEFaji41btdNPm8dMUPX5CYikJn1LEnCzN/NTsjI+Hv cazUiG6lIOqmvySLvj1XnJoVxGktqChTZNUKudDCsThfEnAhxclfWrBHS2Tf5AwRSHW2 G/g5r43SAtsdD879CONRtJ6B51Kk0JddfYkITcKy7Iwxzva0c7S1P0yaVFDOoqa//9IA dhoME1IgtTeBseYiDnx9Nf3dcGyzWzfnMKFVhhNJoPmjeuaiaxQNaLP2zDkoV+RHE+ez e6hg== X-Gm-Message-State: AOAM531bdTJ1nCzoZ0TOXHJIhoPV9oczWkzGiw+6H07c2rR/+40iAbwG ZdFa07BySC6OT0NPDRcgxW4= X-Google-Smtp-Source: ABdhPJz8+MFHLaOQkG51xP/TdF58MFnicoG7i83zJBJR6ELORKwcYeg6FYt+qwoXE4GXJZBMlXs8bQ== X-Received: by 2002:a05:600c:154e:: with SMTP id f14mr9262374wmg.162.1629896598843; Wed, 25 Aug 2021 06:03:18 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Huacai Chen Subject: [PULL 14/28] target/mips: Allow Loongson 3A1000 to use up to 48-bit VAddr Date: Wed, 25 Aug 2021 15:01:57 +0200 Message-Id: <20210825130211.1542338-15-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896602239100001 Per the manual '=E9=BE=99=E8=8A=AF GS264 =E5=A4=84=E7=90=86=E5=99=A8=E6=A0= =B8=E7=94=A8=E6=88=B7=E6=89=8B=E5=86=8C' v1.0, chapter 1.1.5 SEGBITS: the 3A1000 (based on GS464 core) implements 48 virtual address bits in each 64-bit segment, not 40. Fixes: af868995e1b ("target/mips: Add Loongson-3 CPU definition") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Huacai Chen Message-Id: <20210813110149.1432692-3-f4bug@amsat.org> --- target/mips/cpu-defs.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/mips/cpu-defs.c.inc b/target/mips/cpu-defs.c.inc index c6ab3af190e..cbc45fcb0e8 100644 --- a/target/mips/cpu-defs.c.inc +++ b/target/mips/cpu-defs.c.inc @@ -828,7 +828,7 @@ const mips_def_t mips_defs[] =3D (0x1 << FCR0_D) | (0x1 << FCR0_S), .CP1_fcr31 =3D 0, .CP1_fcr31_rw_bitmask =3D 0xFF83FFFF, - .SEGBITS =3D 42, + .SEGBITS =3D 48, .PABITS =3D 48, .insn_flags =3D CPU_MIPS64R2 | INSN_LOONGSON3A | ASE_LMMI | ASE_LEXT, --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) client-ip=209.85.128.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896607; cv=none; d=zohomail.com; s=zohoarc; b=MccTKPYSoyJraBhcgVmW7ZqWaKQ7XczndTvFKV50CmVXf+KEr08Q7UFsJegRU4TE4UMmeVnUB16aN/RDmjw1itBLiRkSjBQubo8v3pC0WLqx+fI743F0m6PqQzUMrddKbXb8MRg7HcPzs3Q3QiBYjPlWqoxR5ewmrkQ2m/cKqeY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896607; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Q2GBJLLz4fX2cAnRDxHMbQVxUbqrTMTT7pmg3XAcYZM=; b=MXRmfsHO6thgEN8rNIX1M3no1OnY6qLa8wGD5MdRAVZLK5fduwazGO7zdS9faKkQoG5qhWovBpA82JArQ3eEmgFf1KSBce8JcfhOSqvWPGHqxLeP/yFEwVmbuyOH5pAuH9Bi9NGtxQ+nBlzpmMns3LWtDx8vctIfu+x3KrnVl10= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by mx.zohomail.com with SMTPS id 1629896607044872.6295315064023; Wed, 25 Aug 2021 06:03:27 -0700 (PDT) Received: by mail-wm1-f44.google.com with SMTP id l7-20020a1c2507000000b002e6be5d86b3so4539078wml.3 for ; Wed, 25 Aug 2021 06:03:25 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id c6sm5004545wrp.95.2021.08.25.06.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Q2GBJLLz4fX2cAnRDxHMbQVxUbqrTMTT7pmg3XAcYZM=; b=ijL5G5eoKqRB5PNVm56QPbFxIa8BUfe5JeELCOJEi5WJYOA4r0a1SmR1S8DbeuDmHr IdqIk5ANVCksMqeyOiGvXBglmPFljnPv/jq0lG2yQ6gRtLegc5iyPHQNisUGc2pVLa0M +V7bvva+2aZQ7U0vZxtQSRMg7N7VL2KumnKrcuNIB17o5B8Mhn6t2mDH2/ZaHKK72MTv Prso1urrjKIjudIZ50MoB1pmXQNyZhM9EFtQkcL381XCAqMflcSPN9dcOFD9I5mAil0S mrQS8Q6a4dgXWUfwC7MofT4GPv6OHyVGJNwZSb/9ioIr1u30I7LpETFU3sHSFqyNTQ9s rFvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Q2GBJLLz4fX2cAnRDxHMbQVxUbqrTMTT7pmg3XAcYZM=; b=VEt1h114JlY521sLRWnnvG4uhc9r4iyLg+fwLL1DTh7ueCbzGljFwW8Cc0SpgjUjDd +HVij5ZdMbnWUviD70T6PJdNHKAdgSsvf3G6L5HnZB++Kj/2a5SIt3D+9wnaHkD+geKS 26duWfOFEwiVNxvjde+jpRoVVk9UV2Ui4cu7DEexHj3gkC9mNUA9QkGI5zv5GSOzUYKL 3jXQ1uRMSCXydPIdZjgpJE1IlCpZZwuXV1OlNAVbCVmMkplYeut1ID3yl0v8SgSdjCC8 OVEkjPl78oJnSBzwNBhAYdCwgTH9DKTA/EKvWS2B/ZxPoC+AWHLOobV1jOvD2LnW4qOh MXoA== X-Gm-Message-State: AOAM530JNamKiFgPZX1MqIL5HxQg8SZJ7gkjfg68DrtCAtJuOmgEJfvd TDKciHnEbuFQeByPp6U1vpY= X-Google-Smtp-Source: ABdhPJwuZzNL5vhmxunT3XVOqMa+zxIl4nnjUGsoNaz7VfEcsIbPKM+DmZ3bbmZzYmiqWF5L8mvXtQ== X-Received: by 2002:a1c:f606:: with SMTP id w6mr9434386wmc.42.1629896603404; Wed, 25 Aug 2021 06:03:23 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Huacai Chen Subject: [PULL 15/28] target/mips: Remove duplicated check_cp1_enabled() calls in Loongson EXT Date: Wed, 25 Aug 2021 15:01:58 +0200 Message-Id: <20210825130211.1542338-16-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896614072100003 We already call check_cp1_enabled() earlier in the "pre-conditions" checks for GSLWXC1 and GSLDXC1 in gen_loongson_lsdc2() prologue. Remove the duplicated calls. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Huacai Chen Message-Id: <20210816001031.1720432-1-f4bug@amsat.org> --- target/mips/tcg/translate.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 30780deb96f..a58d50e40e2 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -4693,7 +4693,6 @@ static void gen_loongson_lsdc2(DisasContext *ctx, int= rt, break; #endif case OPC_GSLWXC1: - check_cp1_enabled(ctx); gen_base_offset_addr(ctx, t0, rs, offset); if (rd) { gen_op_addr_add(ctx, t0, cpu_gpr[rd], t0); @@ -4706,7 +4705,6 @@ static void gen_loongson_lsdc2(DisasContext *ctx, int= rt, break; #if defined(TARGET_MIPS64) case OPC_GSLDXC1: - check_cp1_enabled(ctx); gen_base_offset_addr(ctx, t0, rs, offset); if (rd) { gen_op_addr_add(ctx, t0, cpu_gpr[rd], t0); --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) client-ip=209.85.221.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896609; cv=none; d=zohomail.com; s=zohoarc; b=UY8KhtFM43n6Utu7x2BefQ5P0WZLu1FfOcKbJ9Usc5ava62d7kj+Ozh/FF1xCXZd7Vm640NSqfX35DXZUibkw+rqDKpFY3fIJHwqAlhdv9RC4oBxg8GqjmXtpDK58ye/PZt2FtKQ+NnYYFga0Vt0O3agww8bTpqD51i2klGRVFg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896609; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lyNFAVFOZhMCCrZfvor1HjHIh8GYH8Avp+4JewVXcSk=; b=MDaFx+bVtdyqAaoRm6sGHj+MbqZfWZhD1vOPJR5oqbBgxupGUW6BrjEBO86R2v3CgpFVjB6Eksh3Vg4d1v0qPT+sn9z/eG7CLzfEHo1sX1jJaudduFlQgQqPPACt41kOBp1waU2XPQzhhszP2hrpAm5bNnZ+t8OQTkd9qTFcMdk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx.zohomail.com with SMTPS id 1629896609569217.50028080449; Wed, 25 Aug 2021 06:03:29 -0700 (PDT) Received: by mail-wr1-f48.google.com with SMTP id n5so23980027wro.12 for ; Wed, 25 Aug 2021 06:03:29 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id g6sm5897562wmq.14.2021.08.25.06.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lyNFAVFOZhMCCrZfvor1HjHIh8GYH8Avp+4JewVXcSk=; b=b6UUL23sv2TK1gWdoJJGdWI010o35x0lfIRoERGiF6f10HalfySe0I752s/qYZhvs1 OGzS+/6xvcKiom9rWcjKowfk7zDgXQqWl+FJbJA+5D8MNwCm7wMIRt4uqBwzDnbkuhA/ BigBXefkehv2MeTGfzTXA4VexgI0oLN/DORfreTeKZIYijXTwQIGl5QB1lt+ChrEmXAy 8ZHJsHb+71FQjQaTs59Tvl+Lawd3p4Csb/f4JtRuj4SzOnIE8t0JwoKYkv0n66pN12se n1oe+G97VI2918kHf4tCb+rIvh8qSkUxggFsh5lJndM328vaTLLIJ+xN9gKmFe4VS7YB wp3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=lyNFAVFOZhMCCrZfvor1HjHIh8GYH8Avp+4JewVXcSk=; b=jpT2TfPHo2NzwLpxWszp4ZqFrRuOZFR1dUGoOCp5DoMa7HIBwJ6uJfOLdKscz90TCI 2a/izzPS2a17nmi+fsdUu6RiVDQY1TV1aydw8yPW9arswz5tJPs3LEW+D7LVVn+MBEuO 6EaxWYa53K0AIWKglkvwBcKNINkpxwxknh1peEdXxxaQCLRF33hoDsbPeSbIEjDGkivW +AI0s1+8ATrywpG/wQJT0z4IpU1qcn+UByvKsOKiOl5Fq+2O78iyBTPdFjb6UBagNshR SZln9wNmlZ/xbqbFU5ype5zjtlZa0/x0Zi5SmCjAsjKxZwlI8Y92UrDXkorf7cdPiOCV 2cJw== X-Gm-Message-State: AOAM530dlxzFqnwPtGfG+RICj8TyXrqL2omk38YSLrODfU75RS/W3v9O SNnzTVwhfsXsWGDSnz1gcE4= X-Google-Smtp-Source: ABdhPJzMqtO0MhVrVFxDN3/7CvW+BZ+ydEc2MWUozxVVbOEd0YKFmkmdh8m4sYnh9ad2elMlkLGm8g== X-Received: by 2002:adf:b318:: with SMTP id j24mr22030039wrd.84.1629896607889; Wed, 25 Aug 2021 06:03:27 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 16/28] target/mips: Remove gen_helper_0e3i() Date: Wed, 25 Aug 2021 15:01:59 +0200 Message-Id: <20210825130211.1542338-17-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896615452100005 gen_helper_0e3i() is unused since commit 895c2d04359 ("target-mips: switch to AREG0 free mode"), remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-2-f4bug@amsat.org> --- target/mips/tcg/translate.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index a58d50e40e2..c0f8a04b472 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1249,12 +1249,6 @@ TCGv_i64 fpu_f64[32]; tcg_temp_free_i32(helper_tmp); \ } while (0) =20 -#define gen_helper_0e3i(name, arg1, arg2, arg3, arg4) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg4); \ - gen_helper_##name(cpu_env, arg1, arg2, arg3, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ - } while (0) - #define DISAS_STOP DISAS_TARGET_0 #define DISAS_EXIT DISAS_TARGET_1 =20 --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) client-ip=209.85.128.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896616; cv=none; d=zohomail.com; s=zohoarc; b=IdPajsc1YRP/JYfwKhGat98Y9EbXN+iaN1a/jBC/9LUovZhuPFqypNJBepwAYfWeavWjpn/2TWeDk257+m6LUcyt4biGzqM7hdAby5ydjBx5C0w3USk4zWnpWz301le7x9y6PU/T28g80U8lyQ6UuoqmCmoPw2lc65SsgbXgjNw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896616; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=arPvzh3iW0F/Uf15lZO6UZYU48dZFD0o6Wha+B+WyfM=; b=KQAWRCdjdQq0QS1vVVcx2lkLUkT4b+flWkSYavu58qD2Yb0gdKFm4HYQyCOShQ9A3d5lCDI3RF2j5pu/YJgL6b3o9w3ffydnuCCOtpBouR+3glAnPJLmge3VfNpAgBPOKR0eF3PZkWBETIO7BDVuJLJ/+hBP3mFPQ9+CfRCBm6Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.zohomail.com with SMTPS id 1629896616104267.4203630722211; Wed, 25 Aug 2021 06:03:36 -0700 (PDT) Received: by mail-wm1-f49.google.com with SMTP id f9-20020a05600c1549b029025b0f5d8c6cso4241371wmg.4 for ; Wed, 25 Aug 2021 06:03:34 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id q11sm5255569wmc.41.2021.08.25.06.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=arPvzh3iW0F/Uf15lZO6UZYU48dZFD0o6Wha+B+WyfM=; b=LkC0mXOrLaOkw8d8z84SDyqEV+3k7eZrIEyaEy6J8V9ZxSWe/tnfcBHOviwWjJcTet OcVvPBEZP2x1hZRwTHih+Kw8YexhqDgZs4VlZpBr0j2YBHBhquX6NE53wxm2gKIy6cys az9cPPmYfQVUvM+vz34doQrGauEcetdoBdlOWAhZlm1hRWNYoBJECaQIaLaddlKOV7dP XpweDaGohzslh1X8DT6oTMdaz8lllnf9Yo19FRAHo5/YsjerhmX18YHWtsXZTAyBdsnP 62vCP8VUkXdgHYCoYyWBcYGxbxVjTT1vLm7rLIQVSaODpwuZEceh0WdXw46wmQ8ordB+ rRoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=arPvzh3iW0F/Uf15lZO6UZYU48dZFD0o6Wha+B+WyfM=; b=bXzcG9HBuwFfWnhEdtu8YrDWaUcKgzSOVfg5gcdrm0pqryb/HUeBA5GO9U50SAmedd nlM2lHoIT4gHiO93InDz5NzdjNrnu46cBVBDzdlNEp6zItn754Blc5Frfp6cphEVKG+t 83eTu8e3pAdCF12OkZxH4MgWMwmqJfZ8LaaXiXQTyqcdy12wBasowH29azw+D5KadbS3 lszIAlYPxy9HaMnFdDNgxEeaXHygxUbKkiZ1ukoIGGW/WisyI6rXsBo/7LfBuKcN6emO kRF4giXPGrXCIhi6sZCwYGsbagxDw10LGlT97rpgcRmWA5evTaNVXwsw9wXteKjInqTf sU/Q== X-Gm-Message-State: AOAM530LSU0c9h+5QDDGaDRvtwOwrR1eVIOIJbx8hL8Zu0/AUHDZvQuX BqeJ11ozcYdCUWbKEPdgUu4= X-Google-Smtp-Source: ABdhPJyBX3cSiaAhnct3voQlF+HMWBkjiwdwwRUlsXc1y133uhnxQA6/fmAeAMzjhRuQP2TZbLif1Q== X-Received: by 2002:a1c:7dd0:: with SMTP id y199mr9128086wmc.23.1629896612608; Wed, 25 Aug 2021 06:03:32 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 17/28] target/mips: Remove gen_helper_1e2i() Date: Wed, 25 Aug 2021 15:02:00 +0200 Message-Id: <20210825130211.1542338-18-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896618879100001 gen_helper_1e2i() is unused since commit 33a07fa2db6 ("target/mips: reimplement SC instruction emulation and use cmpxchg"), remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-3-f4bug@amsat.org> --- target/mips/tcg/translate.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index c0f8a04b472..4b689a54abb 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1243,12 +1243,6 @@ TCGv_i64 fpu_f64[32]; tcg_temp_free_i32(helper_tmp); \ } while (0) =20 -#define gen_helper_1e2i(name, ret, arg1, arg2, arg3) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg3); \ - gen_helper_##name(ret, cpu_env, arg1, arg2, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ - } while (0) - #define DISAS_STOP DISAS_TARGET_0 #define DISAS_EXIT DISAS_TARGET_1 =20 --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) client-ip=209.85.221.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896620; cv=none; d=zohomail.com; s=zohoarc; b=bsO6HzLaVZkH/VAvN0hh02PGBjNl0v8wxUmgR3lJmlsaG7Yoh2TaJfSR+WHLE/gnmMKo4xbMRghk6aBSkwkIGZRNbpURdDn8kuP7j3ibCfY2RAQozAQ+9HqV5a+Fra2au6cIiQFOTki318R4QQ6pN+i0SG1WLh1fe3c7/fdaPCA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896620; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sM4X25fIH0ckb661YnsKNto+DdiN+0iKs0Tawasm2qA=; b=YJo4P+UlTsf87m22eOIZreoG6NF23dCjVoGSrMF1oCETyFYNkp+mHHBS8jfdMbrRKdvkrkvUcXv0+Vd/nrGo3644coCyKqmom3kxTiLKCwgv42AobYdEbC9yt7RsADqLbBeOe/Iyx6tGDQ1Wqgx9/eHT1p0foQXQDaG+Lt0FFmU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by mx.zohomail.com with SMTPS id 1629896620478137.47475252282993; Wed, 25 Aug 2021 06:03:40 -0700 (PDT) Received: by mail-wr1-f50.google.com with SMTP id u9so1429977wrg.8 for ; Wed, 25 Aug 2021 06:03:39 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id c13sm17258692wru.73.2021.08.25.06.03.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sM4X25fIH0ckb661YnsKNto+DdiN+0iKs0Tawasm2qA=; b=gphkMpCiRfsX3NcVjG3zvUAruX4EC3iWRGDB2dxnTd6DnXeBpSjOhNVAED7XifptoB oYn2LzPnIcpFpT86B03KXmEjEvvDqLAvLXt9cNvgYIG/m5pZHEP20W4vf0LnDq4NHZPP u6ZccWjf6EstJwbqEmvNWdVmVLC9UDOeu6MTHgYHRQsGOK6SNJ499p2UD+9lahHBrqjx KGoFylyADWJgWZr6JSxhVH/NS31Un4ocUuKBvRYXE0CeCzW2ukBt8Z/gVsmvDTGUwikG IKdsJ0AbnchCgi9bse4pwdESsLnseSxvV3FwkNwP02E+y+vjdc9s6MM6zf456h4xG1lQ Vs9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=sM4X25fIH0ckb661YnsKNto+DdiN+0iKs0Tawasm2qA=; b=cTYP1LIBgyL0cOsvTmiXhf1UaUZhyE9Auqt1irNq2Db+LFa+gPsf7Vf71ewelhmkLC odXaWZ/G2oIUudo/lZsjj3sX3AmNalM2B+qresFa8ns6tO+2A9iwaOXXrBazqheuKB9q hW0jTtfkCkpBlHRLApUoEKBtKO04WROjKG8cQ7J0EiiivFkC8R8vnfjy2fzODJElKv2z ffaWS5QYIZll0VPUdbPLz3mK/17SDhSn6TFZWvvEchFPQ3sqZfEFZyYGdECVGg0amsZc cvTjukgskRf/PHhyJexYqQxRlZaBmAIyYzeBn0iwTPTGRa9TTlPNKU6MJwxng6qkV4uW Wflg== X-Gm-Message-State: AOAM532goKwrntZ4k8GT3bDzBkuBZwLzoD2KxbYk70EIoghHyTMEnVsF YWLeUvbJTHnXCZsBWZ+LgQY= X-Google-Smtp-Source: ABdhPJwCaafDb1BNMtLuSgNmWMGIW0dMcRUOJbOJr+4P4Vq2BRb6P1c/GpB9bIvEABcrMyaItBn/tQ== X-Received: by 2002:adf:e788:: with SMTP id n8mr25125824wrm.214.1629896617394; Wed, 25 Aug 2021 06:03:37 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 18/28] target/mips: Use tcg_constant_i32() in gen_helper_0e2i() Date: Wed, 25 Aug 2021 15:02:01 +0200 Message-Id: <20210825130211.1542338-19-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896621286100001 $rt register is used read-only, so we can replace tcg_const_i32() temporary by tcg_constant_i32(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-4-f4bug@amsat.org> --- target/mips/tcg/translate.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 4b689a54abb..a6df9beb670 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -9072,12 +9072,7 @@ static void gen_mttr(CPUMIPSState *env, DisasContext= *ctx, int rd, int rt, break; case 3: /* XXX: For now we support only a single FPU context. */ - { - TCGv_i32 fs_tmp =3D tcg_const_i32(rd); - - gen_helper_0e2i(ctc1, t0, fs_tmp, rt); - tcg_temp_free_i32(fs_tmp); - } + gen_helper_0e2i(ctc1, t0, tcg_constant_i32(rd), rt); /* Stop translation as we may have changed hflags */ ctx->base.is_jmp =3D DISAS_STOP; break; @@ -9694,12 +9689,7 @@ static void gen_cp1(DisasContext *ctx, uint32_t opc,= int rt, int fs) case OPC_CTC1: gen_load_gpr(t0, rt); save_cpu_state(ctx, 0); - { - TCGv_i32 fs_tmp =3D tcg_const_i32(fs); - - gen_helper_0e2i(ctc1, t0, fs_tmp, rt); - tcg_temp_free_i32(fs_tmp); - } + gen_helper_0e2i(ctc1, t0, tcg_constant_i32(fs), rt); /* Stop translation as we may have changed hflags */ ctx->base.is_jmp =3D DISAS_STOP; break; --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) client-ip=209.85.128.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896627; cv=none; d=zohomail.com; s=zohoarc; b=Kb1DDCsLjju/+iFmwh++eyXRWh8JIsNcYFrIG18ZJj8+WHMdsSJiSwC/Y/GFxbzYyxnPEwJaDk3i3HWUncpfl853sxEDfJd01/BNOJTSCzpaPdhXqi9aG45K2c37WNldCxTrpQO7FJMx4uy9gazDCKOyksXoyxjzRaIuq0NynnI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896627; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SCGtr+SIQn/N/P6p7BcepUHOHI6/8VxeqrYznn/oHQY=; b=iOBNdB/9QUoHy/XWmLWicpTGOw3ZjxCk0c3cHW5VIt0Xx3eHj4QlJzuQ4V/4tt6fVbsb7Tl6r0j468rq0xQE5l+cF7ti36NmgjDEjyA2ojL+t8CkeVuELzny+R75deLq9rY8CFOMEx9zOi/vqAuq837Yr6G8wb4lMonr0CiFiKE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.zohomail.com with SMTPS id 1629896625205299.8668624159536; Wed, 25 Aug 2021 06:03:45 -0700 (PDT) Received: by mail-wm1-f50.google.com with SMTP id f9-20020a05600c1549b029025b0f5d8c6cso4241691wmg.4 for ; Wed, 25 Aug 2021 06:03:43 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id v21sm2082997wra.92.2021.08.25.06.03.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SCGtr+SIQn/N/P6p7BcepUHOHI6/8VxeqrYznn/oHQY=; b=E+4sTVqcSdJaxelbinAhJa1afSiGfXeMdOT8FNmU7FsI8kqjBndz4UNreApQ1EDn7v fzuUEjZ/MIHf15cCcZB8GFd+CygCzSEB+rx0qoUlbOuTbdG6xrQFcgjYEK6gjsJP/kB4 IU/748YutA8kYuiWuEA/MiM0qCnjO7JCD6S2U0yhdjwOzEIBMLhSoRJmGZ3+ZHy811Qb opZAMlpV4gLzmV5p729nnFwPIbFAyEhI4GjsTqiqKn+cxoDZ2m63Ix5Tcy81RNJ/efu7 5L1BBpGVyWnDK9xpR/ago/4tGy8ftX1W427/bRw7TnxCBxXgq1Vwm6rs+0/3cIQLvKvQ zM2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=SCGtr+SIQn/N/P6p7BcepUHOHI6/8VxeqrYznn/oHQY=; b=EvSqrA0aDGhlEjtIWu4u1+aL2K4VMl603fLlb6jXomoIzZWPPTRur3htg+1vrmxMzS oKGgOx3NgCosbJz9jurMKD6I2en2fwwDFuKsbmk192QOkWFVGmenbLmf3UFGUH8MCW5Y yudHx2o/ILZj4Qc1Nwnmxh3CNt2hFMM6RgZ0bvejMDjg+u18ze8Duw3qPh6uI8O2lHQs aeqQ0CuTviItqkJoT+J9FHz3mt5rAyZjMs0Nu05lDmVG997tCSO/YbjQhGPl9VIO3iL+ K7kzP13Q0GqmQCSAJBJOUAN5+WzrwYHJjaOGYntAnQzJH0MQZa5a8/1vmZWYtp3/tF1r J4KA== X-Gm-Message-State: AOAM532o2rrKCZ4S0IBt/GPfr1CTDyYcB7pLxCXacb1jossDcoT41H7r AHS1BHwQMYq+O9GMRmEZEjs= X-Google-Smtp-Source: ABdhPJzW0ZVIJTRIfm+0T2LLXSuk0ReE/rkjAbPN3/xBP11LzKRuYrmK1N+sgJxHMWPnZWHajL6S+g== X-Received: by 2002:a7b:c927:: with SMTP id h7mr8334478wml.154.1629896621956; Wed, 25 Aug 2021 06:03:41 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 19/28] target/mips: Simplify gen_helper() macros by using tcg_constant_i32() Date: Wed, 25 Aug 2021 15:02:02 +0200 Message-Id: <20210825130211.1542338-20-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896628529100001 In all call sites the last argument is always used as a read-only value, so we can replace tcg_const_i32() temporary by tcg_constant_i32(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-5-f4bug@amsat.org> --- target/mips/tcg/translate.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index a6df9beb670..3417fc433ff 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1214,33 +1214,23 @@ TCGv_i64 fpu_f64[32]; #include "exec/gen-icount.h" =20 #define gen_helper_0e0i(name, arg) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg); \ - gen_helper_##name(cpu_env, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ + gen_helper_##name(cpu_env, tcg_constant_i32(arg)); \ } while (0) =20 #define gen_helper_0e1i(name, arg1, arg2) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg2); \ - gen_helper_##name(cpu_env, arg1, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ + gen_helper_##name(cpu_env, arg1, tcg_constant_i32(arg2)); \ } while (0) =20 #define gen_helper_1e0i(name, ret, arg1) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg1); \ - gen_helper_##name(ret, cpu_env, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ + gen_helper_##name(ret, cpu_env, tcg_constant_i32(arg1)); \ } while (0) =20 #define gen_helper_1e1i(name, ret, arg1, arg2) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg2); \ - gen_helper_##name(ret, cpu_env, arg1, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ + gen_helper_##name(ret, cpu_env, arg1, tcg_constant_i32(arg2));\ } while (0) =20 #define gen_helper_0e2i(name, arg1, arg2, arg3) do { \ - TCGv_i32 helper_tmp =3D tcg_const_i32(arg3); \ - gen_helper_##name(cpu_env, arg1, arg2, helper_tmp); \ - tcg_temp_free_i32(helper_tmp); \ + gen_helper_##name(cpu_env, arg1, arg2, tcg_constant_i32(arg3));\ } while (0) =20 #define DISAS_STOP DISAS_TARGET_0 --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.43 as permitted sender) client-ip=209.85.221.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896628; cv=none; d=zohomail.com; s=zohoarc; b=Aozyrn5UtaETeTK0H9zDwdZG2i6dT+zFrXDTEaAILb3hhBewsN9UmpwEFSIL6bnIubwoLOgmkcxlsMDjBk+T1IwwTfN93Gg49qZIbNwia4MYoHPIhP/33RgtuZL6V+7WW1zTXBuwYTpioJuRUL9FDvIq7UiLhgAs81JpeFkFKEo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896628; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZkmjoDvMFjsU97UhZzTQFL9FN7lAozX9pcg/xU8suzM=; b=eN57CyRVzZTX6dZnUcmi2tYgyGSsyD9j0JwiWbu377wnxYJjT2Ezt69trMNWkZqtfqKxDD8fGHEmUprQ8COCgVuGwEBQhkv2RoKEmHcAiESijZL9861j59p+qlhw2T0pkbFJ9pBF+ZIH7MiqyKNy0kiAH8NShfdfkptprl6RwIo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by mx.zohomail.com with SMTPS id 1629896628375476.645231819729; Wed, 25 Aug 2021 06:03:48 -0700 (PDT) Received: by mail-wr1-f43.google.com with SMTP id n5so23981373wro.12 for ; Wed, 25 Aug 2021 06:03:47 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id v21sm2083303wra.92.2021.08.25.06.03.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZkmjoDvMFjsU97UhZzTQFL9FN7lAozX9pcg/xU8suzM=; b=WBTd+sxBSVjqyA36jm7oYNQ6ehmSqoVhRDfHyehrayZvuNKo1WzJsyVJrstCzoZc+F +twB94H0NPtqrvusARYTpxzh8o+A6dTTRAVqVAeJxO8Ey9xYLY8aL3hGN3W2EmCueyq4 U4zSh60k+A8+WQQW4OobFkfhhPey9u1NJuxKP1amOniksbfyhg434tx5mh6pu5F+qMb3 r5SuUIcqLMpZYrEio1+ihSxig18/M9dBT6lZJm8ZZ1wMSMGbkatMT7Rs62lPojEZU8yc 2WAim25MRrpou40tQ8mHqoK9nOs3t3uUjgYMEsohohfwsbQc1vtIHbs9vES7x+7FRial 8IUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ZkmjoDvMFjsU97UhZzTQFL9FN7lAozX9pcg/xU8suzM=; b=lTgS47GcG4YMhfKVASWTLe1ttdbtjAwIeawVwXEnBEfQx5swkWH7AL7DU6YrJC6gSB ipHVFauhhWFpkJEJGS2mBdtDncHRFnNZ80QAxxrcNQ6VxYP5XaK2WijAuKVGzCLLPqgE Q9BDSNkF+xN6YmqrWWEbZP6hn6mntNN5eQMZWz0Xk7VhAISTEeQzDbiKT8UR+lS7Wlbg B4Y9piGFB8MhYR3lqHnhF4t3Ll1LPqauQpj8FVUVgADkajfagzZijhgqKg8dpkAiUp2h aY/H/JnWbnfdq/0rHsQIrYZUNhqL6V0F8WjeqSHEYd1p3PczG6VwYolofk+6B1cpp9p2 TsAw== X-Gm-Message-State: AOAM530xcbMZIq1cBjJeH7bTmt9lw+68m7FBFIrMbAwCrwTGqpTLjkt0 o4ioPffrogbm9MVqHGf4Yzg= X-Google-Smtp-Source: ABdhPJzPoaMdnHKmU6j3Gou24Zlmmb/XW8nCOCkZREq1NWdIbT9WWw02VQCsNBUXxJNwK0LUy5VIMA== X-Received: by 2002:adf:9f01:: with SMTP id l1mr481332wrf.427.1629896626513; Wed, 25 Aug 2021 06:03:46 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 20/28] target/mips: Inline gen_helper_1e1i() call in op_ld_INSN() macros Date: Wed, 25 Aug 2021 15:02:03 +0200 Message-Id: <20210825130211.1542338-21-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896629012100003 gen_helper_1e1i() is one-line long and is used in one place: simply inline it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-6-f4bug@amsat.org> --- target/mips/tcg/translate.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 3417fc433ff..db7fc75d937 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1225,10 +1225,6 @@ TCGv_i64 fpu_f64[32]; gen_helper_##name(ret, cpu_env, tcg_constant_i32(arg1)); \ } while (0) =20 -#define gen_helper_1e1i(name, ret, arg1, arg2) do { \ - gen_helper_##name(ret, cpu_env, arg1, tcg_constant_i32(arg2));\ - } while (0) - #define gen_helper_0e2i(name, arg1, arg2, arg3) do { \ gen_helper_##name(cpu_env, arg1, arg2, tcg_constant_i32(arg3));\ } while (0) @@ -1991,7 +1987,7 @@ static inline void op_ld_##insn(TCGv ret, TCGv arg1, = int mem_idx, \ static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx, = \ DisasContext *ctx) = \ { = \ - gen_helper_1e1i(insn, ret, arg1, mem_idx); = \ + gen_helper_##insn(ret, cpu_env, arg1, tcg_constant_i32(mem_idx)); = \ } #endif OP_LD_ATOMIC(ll, ld32s); --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896989; cv=none; d=zohomail.com; s=zohoarc; b=k45a1N/H/6gejciyMw9eivXlFuHVCajWkZDePzNIg07IZQXQbaifvtscN1qlzctMYxlNbJgiubpCb591eZ4GwYLWQIKkKPLtXi5LaHVXe0aWVRxeYczVD8132qzIgh2/uWYxxp1teLMBtjHmBXRTIDWfoC4b384OmlyO3WO/Cek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896989; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VGi0bWCeq/OP3YpAAxkkS4YY/6sTdDEW0wWYiNmbwc0=; b=OFohWwM98XAf73eiHjuQIZv0Uz5zl8wNAxXztKvXQrNaiDo1S3FQbaZXBFUHmsyYRWHuBexvmMxdngYMKxhOgDsmZstLowpmcJCgZg0lqkbd8mJ53hp2DSjqlFGP6DA9KdMt275I65hJf38A5Ezw4wbxQ8t+RgUAuFgEFglruv8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1629896989040351.4946574800488; Wed, 25 Aug 2021 06:09:49 -0700 (PDT) Received: by mail-wr1-f42.google.com with SMTP id z4so20732339wrr.6 for ; Wed, 25 Aug 2021 06:09:48 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id e26sm8143278wrc.6.2021.08.25.06.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VGi0bWCeq/OP3YpAAxkkS4YY/6sTdDEW0wWYiNmbwc0=; b=NHShqhkWKxeojDokfjMcOnQNrwDQj1qUbx6Fg5I0CFy20f6rb9wssebtWNKPSUpKS2 dqp3YoDzR+U/LQER6FldQ2/+jad6tW3t9uvaUN0evstXcFIYUG4w06410enB1su0TQDP GgmHCQj4jaRwByyHG70LX4yO8hXWB9oTK6Nj+vIhRiY2hckjS2e8d1K2WPU/Yhune+R/ WLQOlONA8FdDTgVDqMlZs10EHXAMaVoK/Za0SbkDF7zaj5uaVEo9oYUCAU/Rz1BdvkLX Wv54nQ3ZlVDE2LU0L7/CVhO3O6sl3VVs6PWybeov+Cg54bVH3daKfCLgD6qSPpGLoIj7 mI7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=VGi0bWCeq/OP3YpAAxkkS4YY/6sTdDEW0wWYiNmbwc0=; b=Uw20HGTPOaoTR6mNO28bcEUNgu25Xm8eZzuXBAmnVA2m8GgbO6RT3O8DJfk83lwZw5 xodmAK5a44Ex29r74Xhq0yb63hkflG2Tgi5dC/7lZJ4OXM4JUX+NJjdhlRXjD0RerL/G 8HsSSaRYNCMB0z7JbXHFvZIn/N0tnm/nzZ1r+1acAQjHk8ae9rc80Xp9ei14eVmWa6XB zPMdpLdHLw0c5AQUBAhxOeRPYy40QmHNZD0gF5wgzDI907eWek8T8RELwZRIukVGqPBi 1mpZNI7eAHtq9jlQTeKFWNGuoWYsshBEJf5d5KmA0d3kCEMfeS3T3faJWUEtxrcAc4qy fe8w== X-Gm-Message-State: AOAM532T21f6cipswyFUm3xw9YiTvFkcKslhcXuCK84lXoHHxHLBueRB 4LgHc3k2aHgbR4jeRMLrZAcVHqHlHxU= X-Google-Smtp-Source: ABdhPJyoHCAqsos/lvjrTY8qjOxpn4mGWvcZh2tqDlqkvTXX5Wl0IrVRLF3AMbDtUErPgfXprGPnXg== X-Received: by 2002:adf:a45b:: with SMTP id e27mr14360403wra.222.1629896631003; Wed, 25 Aug 2021 06:03:51 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 21/28] target/mips: Inline gen_helper_0e0i() Date: Wed, 25 Aug 2021 15:02:04 +0200 Message-Id: <20210825130211.1542338-22-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896993676100001 gen_helper_0e0i() is one-line long and is only used twice: simply inline it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-7-f4bug@amsat.org> --- target/mips/tcg/translate.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index db7fc75d937..c515a337ebc 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1213,10 +1213,6 @@ TCGv_i64 fpu_f64[32]; =20 #include "exec/gen-icount.h" =20 -#define gen_helper_0e0i(name, arg) do { \ - gen_helper_##name(cpu_env, tcg_constant_i32(arg)); \ - } while (0) - #define gen_helper_0e1i(name, arg1, arg2) do { \ gen_helper_##name(cpu_env, arg1, tcg_constant_i32(arg2)); \ } while (0) @@ -1378,7 +1374,7 @@ void generate_exception_err(DisasContext *ctx, int ex= cp, int err) =20 void generate_exception(DisasContext *ctx, int excp) { - gen_helper_0e0i(raise_exception, excp); + gen_helper_raise_exception(cpu_env, tcg_constant_i32(excp)); } =20 void generate_exception_end(DisasContext *ctx, int excp) @@ -14188,7 +14184,7 @@ static void decode_opc_special(CPUMIPSState *env, D= isasContext *ctx) MIPS_INVAL("PMON / selsl"); gen_reserved_instruction(ctx); #else - gen_helper_0e0i(pmon, sa); + gen_helper_pmon(cpu_env, tcg_constant_i32(sa)); #endif break; case OPC_SYSCALL: --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) client-ip=209.85.221.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896637; cv=none; d=zohomail.com; s=zohoarc; b=FkI9siAyzRCleeVJ7P22T2/NAh/eEogXf4i9bgzjinh3gmy/7NF4yl32hffvy6J/q7i4SnqPYHExa8/wdH4KJnwDg2wZnvYAq0ssrxBAOKuWZNqoz4jox2jnNraXzjX5ipTjcP7gBxa6iBV+r9Zz4NifwT7oLb7/BsnAopOnUs0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896637; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GNdchmjx1hAPs99QM/cyYenjVo5gduMzC+mR4TSLags=; b=dR8Twr5+eY884nRRIUsaJBhHKrqDUDy1eIOZWmMcTLXWlf6pq0lLjzIAniIBLLciRnx5Tawx8fYjEl1CdTVSwG45ilj6+UQyqmqHIL/V6QxLQ/GJuAkSKWpN0Wo0UcY4u62I4Xd9MDoi6sqKAftFH80gSmml9eSBH8cOAy8izcg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.zohomail.com with SMTPS id 1629896637550332.9697981351243; Wed, 25 Aug 2021 06:03:57 -0700 (PDT) Received: by mail-wr1-f44.google.com with SMTP id u9so1431447wrg.8 for ; Wed, 25 Aug 2021 06:03:56 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id v5sm4995658wrw.44.2021.08.25.06.03.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GNdchmjx1hAPs99QM/cyYenjVo5gduMzC+mR4TSLags=; b=I/lnlo20e7aZ3sfWmM6oHRnkqCBxcv0YYtpz1bY5fbDsNP1tD8ind6cejT/Z5Ybo7F Wom3XUMKfVkYWIPoMEdQ/bzrWKNe4KDHCqyjOumzlImAEXxBGZonuvjI5/ZiMeorBWrL EH0EIZGXzBPrU06TEdXa8CCdk32P0yZ9FaQ1J3LQ8g0eXpZkI3nss+7CcOnLRaNXODNG JB/RBZckHHvC+CLUQE8Z5PvZJzZIivVhgfNTmmUeLtvwbSg5wAaGuUz+Teg/2oqyqUJ8 WYzS7d7Y9bOLR3nqW/kjDLu/oUkZhEra2yuK7AJLY8oFvkLc8OrYga1PBmbW9AR5YMbE z62g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=GNdchmjx1hAPs99QM/cyYenjVo5gduMzC+mR4TSLags=; b=CrwGtzprkFYz+7w1SH2MSSkXi8hYIZ8pi3yZRV45L4TsNtvokw7dOJS9WPGLiCLb/4 QxA4HMENJlaMEHTRHT4rUAND34JfCZ1S9HSmWKGF2guNP3Q6Pc7u5+8qsMYPX/7IHahr fbjwqHk92P5pqGKoUoPOBO0/F4zHXj0osOxTgM854kEu/hxzLbfY5R0vQxKdYC2HZy+v krp5pD+VMWzUa9MmeyITWg94wbHxen19W7RWFiyrJBXEX4+7+gjeoI19W8v7tcKJhgPI 4UGLaPwJ8B426X4TEp/x3RX3GwORnCxTo270YmsQwmPP+NCpgpzMZM0gWLBU5K/zad3d 0+3g== X-Gm-Message-State: AOAM532JbSLFvLYDnumPLDP7sYOKaz+6+BaZa0SGOPhQneQG77TeydQn ANG7oZKPKv92i9NRrwscCU8= X-Google-Smtp-Source: ABdhPJypE72yqcuzowUbeLXu4ExOpl4Nnv19gTxX9r6bLOYitQ2R52Hn3VxM87HbXmnZD6nvW0/Ymg== X-Received: by 2002:a5d:5642:: with SMTP id j2mr22861929wrw.264.1629896635869; Wed, 25 Aug 2021 06:03:55 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 22/28] target/mips: Use tcg_constant_i32() in generate_exception_err() Date: Wed, 25 Aug 2021 15:02:05 +0200 Message-Id: <20210825130211.1542338-23-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896639891100001 excp/err are temporaries input, so we can replace tcg_const_i32() calls by tcg_constant_i32() equivalent. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-8-f4bug@amsat.org> --- target/mips/tcg/translate.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index c515a337ebc..93b72c994f2 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1363,12 +1363,9 @@ static inline void restore_cpu_state(CPUMIPSState *e= nv, DisasContext *ctx) =20 void generate_exception_err(DisasContext *ctx, int excp, int err) { - TCGv_i32 texcp =3D tcg_const_i32(excp); - TCGv_i32 terr =3D tcg_const_i32(err); save_cpu_state(ctx, 1); - gen_helper_raise_exception_err(cpu_env, texcp, terr); - tcg_temp_free_i32(terr); - tcg_temp_free_i32(texcp); + gen_helper_raise_exception_err(cpu_env, tcg_constant_i32(excp), + tcg_constant_i32(err)); ctx->base.is_jmp =3D DISAS_NORETURN; } =20 --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) client-ip=209.85.221.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896642; cv=none; d=zohomail.com; s=zohoarc; b=Z8nhr6EPpbyC5Wwvygx/jje3O1AgSCQbPfL5Gvot8m0UZu8oHfQxMBh6JZU9WAgiy34JCKlFx/hIn3D0syL96mPRnPzKR2ZxR13qrj3r7qHLzps8N4UN81e5n+hivAH7lV+sMpdYn+hYh3haJYO/CpQL500vWEi2FqthPeJdW9M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896642; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qVzI1/8yW4G9P7w0V2waGQ0wzqaHaicg0UPMUVVGu28=; b=muU/wfdMVMmISexgm459+uzQgr/7ZZ2Rx5LxnBmn8cuBI4uLH5BUSMMmt0x2NCEByvHzZZv+l9ooZAX9Mym4cUI6gjBWyWQy+XEIXXd1ZYgZqaGRjLO51ToG+x0wLvqWRitb/MZOoPoerl+hbXsK3k/xfWvxGPPlyzyz6IldTpw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mx.zohomail.com with SMTPS id 1629896642099223.52942900096934; Wed, 25 Aug 2021 06:04:02 -0700 (PDT) Received: by mail-wr1-f41.google.com with SMTP id f5so36301569wrm.13 for ; Wed, 25 Aug 2021 06:04:01 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id p18sm21326322wrt.13.2021.08.25.06.03.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:03:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qVzI1/8yW4G9P7w0V2waGQ0wzqaHaicg0UPMUVVGu28=; b=dYKr67rf4q4Jm9JshJanp0717vE0s5iqRASpel9r9+VeLA7Ho0qT3fOR5+Zklytcp7 Ug6TJy9R2UvvTuLYCMCQJhwxXc6U0hpdTozuAQbPvYSNG9uceJGIE/Zhui99YQWFIsXZ 0O6ghL+Mo3UgEYjU1tn39Yj/ZH0IwN8G7d7CuFj9c7zjnzxzeJJh4XgHx71eahKBpSWp IFeuflVC5+wlbERqI7S11a4usPLwQglq5114d5MiV6zwgWcrIh19bfet7fGZTrJp9m0m 63JwqGB1gKB5JQF4JWk050mwiPLBa5sUhYqXhbcnVpKQ5cPnpBadXJbGPRN+Ul+xWVUn 1a6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=qVzI1/8yW4G9P7w0V2waGQ0wzqaHaicg0UPMUVVGu28=; b=i4+GTX2WsEndl+KRuofkuoUaBNwf0Z/8UU+hEGrimvQ+dNadXe0B5N01WlreQj6Xib 575EeMn4AUyw4yEV2LMFIhWeaStYzsj5r/VQWvTGVNKedQQpAu2Y1aug8lWjauYvipHr gCLK60GbkWFWB9TOeO/y0v8pvJjc4tDw0y/SMn0zrZMlFcQYUn8QNmNF26OMHZqsTw6X 2GW0T2XrYuZEqs/4qmdDfliXgGg+fra/d6YRWmDiBDsz2izSV8IKmRbAFdbinhad680m 0hTVjWkaYy3K48RhEwuYyP6RlZC+znCV3p/pK8wl2BS11+H5zLg7Ch8SQRgpJIyPFU9B 2OIQ== X-Gm-Message-State: AOAM533nEsQ1jo7GUDITKoPGrzhJCqXdkE/JdVSJ8SOyM5CSWyqsDZ8L Na9QPCJ6LTnleGt7JkvGw4OtjqpLS/k= X-Google-Smtp-Source: ABdhPJwmNtnttktXWgOu4bIkfYYeH2mqicUOVt2uTPtHto9SqHHEN4Siql3JYqC+hoz69VsaWqMWUg== X-Received: by 2002:a5d:4d8c:: with SMTP id b12mr17846115wru.232.1629896640329; Wed, 25 Aug 2021 06:04:00 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 23/28] target/mips: Define gen_helper() macros in translate.h Date: Wed, 25 Aug 2021 15:02:06 +0200 Message-Id: <20210825130211.1542338-24-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896644807100001 To be able to split some code calling the gen_helper() macros out of the huge translate.c, we need to define them in the 'translate.h' local header. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210816205107.2051495-9-f4bug@amsat.org> --- target/mips/tcg/translate.h | 12 ++++++++++++ target/mips/tcg/translate.c | 12 ------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index bb0a6b8d74f..eac01a81182 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -113,6 +113,18 @@ enum { OPC_BC1TANY4 =3D (0x01 << 16) | OPC_BC1ANY4, }; =20 +#define gen_helper_0e1i(name, arg1, arg2) do { \ + gen_helper_##name(cpu_env, arg1, tcg_constant_i32(arg2)); \ + } while (0) + +#define gen_helper_1e0i(name, ret, arg1) do { \ + gen_helper_##name(ret, cpu_env, tcg_constant_i32(arg1)); \ + } while (0) + +#define gen_helper_0e2i(name, arg1, arg2, arg3) do { \ + gen_helper_##name(cpu_env, arg1, arg2, tcg_constant_i32(arg3));\ + } while (0) + void generate_exception(DisasContext *ctx, int excp); void generate_exception_err(DisasContext *ctx, int excp, int err); void generate_exception_end(DisasContext *ctx, int excp); diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 93b72c994f2..40cb1fc9508 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1213,18 +1213,6 @@ TCGv_i64 fpu_f64[32]; =20 #include "exec/gen-icount.h" =20 -#define gen_helper_0e1i(name, arg1, arg2) do { \ - gen_helper_##name(cpu_env, arg1, tcg_constant_i32(arg2)); \ - } while (0) - -#define gen_helper_1e0i(name, ret, arg1) do { \ - gen_helper_##name(ret, cpu_env, tcg_constant_i32(arg1)); \ - } while (0) - -#define gen_helper_0e2i(name, arg1, arg2, arg3) do { \ - gen_helper_##name(cpu_env, arg1, arg2, tcg_constant_i32(arg3));\ - } while (0) - #define DISAS_STOP DISAS_TARGET_0 #define DISAS_EXIT DISAS_TARGET_1 =20 --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) client-ip=209.85.128.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896647; cv=none; d=zohomail.com; s=zohoarc; b=X5YuK4SIG7b7l9Hxc83Ftf4ukGehG6zohRc8DNXs93m2eWywMy3uk9EIBWt9VRbsJ5253iauddUc0zQZzmpJNL9amk/XnltmI0VrXdLKjvELf4Vz8iGYNiRVrT7ifaky8JTC8x5Cqq7VtxbYYqjeVSV5lsQrcHw5EwK+/Ht3gyg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896647; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4siFvW7S02H4ZfJAR8lTKG1U1eRDBpwvb6iIyC7aiXg=; b=jENf3tyJJQ9EmLlSF9RUVYQ0uHFDObYc4ki8X8a6NnG9pYxJXhYkX2BK9KnzbMdQJir0QksJYvGjkFOb9CXu1y5K17Kg163Ejhj33UJnJXnUG9OFb/ZhYnoUNzxzkBOsab0OBpr2UVyHCzs+Pn9I8zptRNPf1i2Ilb9zeCMcYjY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.zohomail.com with SMTPS id 1629896647045849.0483388909402; Wed, 25 Aug 2021 06:04:07 -0700 (PDT) Received: by mail-wm1-f51.google.com with SMTP id o39-20020a05600c512700b002e74638b567so4540004wms.2 for ; Wed, 25 Aug 2021 06:04:06 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id m7sm5155893wmq.29.2021.08.25.06.04.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:04:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4siFvW7S02H4ZfJAR8lTKG1U1eRDBpwvb6iIyC7aiXg=; b=m5oQfoxiI11l9OIX+c4IFSXgbOwg21gKO7BiJlmXiio0jpT7s0EmGEBIhagh564aey f/mLRw7Sv2oxrL5ItnBpkSuRvPLxOoQpH082uNvYx2q0Se0E1ixedJ3GfjTw+ajJNVOY MkpsBef2S0mhbgjvzDawsj/2hks5RvkU5HX3knBwrMx2BCTbY4gLZqam10ym0u3eZGoW BRfGruGQ0Ydgr13akS0+jD52y7mdSUovfB/tuQ2unHplI2/uQHMLebe6yLyCGmknnyBY F68EfihrsFbPHeAydB+Jdpvg9JngPi/qVcxLnbCgdJACk/HX4lX42i5qe1rpHAX4rPcS XEbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=4siFvW7S02H4ZfJAR8lTKG1U1eRDBpwvb6iIyC7aiXg=; b=h/jsn9Iyz8eqb+jBZXoXT/nBH3m4TZ5/WTPVOlGab7xIW1QMIbN9bLzrGrbbVl7CQ/ wm0gi44QWcSOMKQzNnn+noRoEmERSAmDNxIKd1shtKJQdVWHboOJhD7gnd17+dVDQQMA 2mhsto/vJl3P2kUKwTrg/OrRs2nliGIXlta5sYuS2f11z0FvzTJ1N6AkouFfllPIaSnd i7py5uETgX1R1UPdn+vKlNbWH75q7nxG2Cl8YcdkfPE8CSmn2kTI8eXzRq8ALr6GeEN+ fX/tX+7N/4BulsgCCVJG+flbyI2eo11SBsydHf+lHrYNr2LCjMSpCgo5quSWJ4XnfhW3 NJHQ== X-Gm-Message-State: AOAM530UMOlFcSfO3165Hi4nJoV5w0pIoNXvqS4GHpkEYCvFFQ/jZx0+ h58oJWnyI3VVu1U9qTUnlTg= X-Google-Smtp-Source: ABdhPJzWabGbYBjwk9poY+dkz4WEJyhsrrCNs72s9pR698ieUbzCbBrC2NB/o5ilEWH7H9S4ocnX2w== X-Received: by 2002:a1c:a5ca:: with SMTP id o193mr8999939wme.160.1629896644994; Wed, 25 Aug 2021 06:04:04 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 24/28] target/mips: Call cpu_is_bigendian & inline GET_OFFSET in ld/st helpers Date: Wed, 25 Aug 2021 15:02:07 +0200 Message-Id: <20210825130211.1542338-25-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896648938100003 The target endianess information is stored in the BigEndian bit of the Config0 register in CP0. As a first step, inline the GET_OFFSET() macro, calling cpu_is_bigendian() to get the 'direction' of the offset. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210818215517.2560994-2-f4bug@amsat.org> --- target/mips/tcg/ldst_helper.c | 55 +++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/target/mips/tcg/ldst_helper.c b/target/mips/tcg/ldst_helper.c index d42812b8a6a..8d1dfea6766 100644 --- a/target/mips/tcg/ldst_helper.c +++ b/target/mips/tcg/ldst_helper.c @@ -52,31 +52,36 @@ HELPER_LD_ATOMIC(lld, ldq, 0x7, (target_ulong)) =20 #endif /* !CONFIG_USER_ONLY */ =20 +static inline bool cpu_is_bigendian(CPUMIPSState *env) +{ + return extract32(env->CP0_Config0, CP0C0_BE, 1); +} + #ifdef TARGET_WORDS_BIGENDIAN #define GET_LMASK(v) ((v) & 3) -#define GET_OFFSET(addr, offset) (addr + (offset)) #else #define GET_LMASK(v) (((v) & 3) ^ 3) -#define GET_OFFSET(addr, offset) (addr - (offset)) #endif =20 void helper_swl(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + int dir =3D cpu_is_bigendian(env) ? 1 : -1; + cpu_stb_mmuidx_ra(env, arg2, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); =20 if (GET_LMASK(arg2) <=3D 2) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 1), (uint8_t)(arg1 >> 16), + cpu_stb_mmuidx_ra(env, arg2 + 1 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 if (GET_LMASK(arg2) <=3D 1) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 2), (uint8_t)(arg1 >> 8), + cpu_stb_mmuidx_ra(env, arg2 + 2 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 if (GET_LMASK(arg2) =3D=3D 0) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 3), (uint8_t)arg1, + cpu_stb_mmuidx_ra(env, arg2 + 3 * dir, (uint8_t)arg1, mem_idx, GETPC()); } } @@ -84,20 +89,22 @@ void helper_swl(CPUMIPSState *env, target_ulong arg1, t= arget_ulong arg2, void helper_swr(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + int dir =3D cpu_is_bigendian(env) ? 1 : -1; + cpu_stb_mmuidx_ra(env, arg2, (uint8_t)arg1, mem_idx, GETPC()); =20 if (GET_LMASK(arg2) >=3D 1) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -1), (uint8_t)(arg1 >> 8), + cpu_stb_mmuidx_ra(env, arg2 - 1 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 if (GET_LMASK(arg2) >=3D 2) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -2), (uint8_t)(arg1 >> 16), + cpu_stb_mmuidx_ra(env, arg2 - 2 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 if (GET_LMASK(arg2) =3D=3D 3) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -3), (uint8_t)(arg1 >> 24), + cpu_stb_mmuidx_ra(env, arg2 - 3 * dir, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); } } @@ -116,40 +123,42 @@ void helper_swr(CPUMIPSState *env, target_ulong arg1,= target_ulong arg2, void helper_sdl(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + int dir =3D cpu_is_bigendian(env) ? 1 : -1; + cpu_stb_mmuidx_ra(env, arg2, (uint8_t)(arg1 >> 56), mem_idx, GETPC()); =20 if (GET_LMASK64(arg2) <=3D 6) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 1), (uint8_t)(arg1 >> 48), + cpu_stb_mmuidx_ra(env, arg2 + 1 * dir, (uint8_t)(arg1 >> 48), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) <=3D 5) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 2), (uint8_t)(arg1 >> 40), + cpu_stb_mmuidx_ra(env, arg2 + 2 * dir, (uint8_t)(arg1 >> 40), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) <=3D 4) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 3), (uint8_t)(arg1 >> 32), + cpu_stb_mmuidx_ra(env, arg2 + 3 * dir, (uint8_t)(arg1 >> 32), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) <=3D 3) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 4), (uint8_t)(arg1 >> 24), + cpu_stb_mmuidx_ra(env, arg2 + 4 * dir, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) <=3D 2) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 5), (uint8_t)(arg1 >> 16), + cpu_stb_mmuidx_ra(env, arg2 + 5 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) <=3D 1) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 6), (uint8_t)(arg1 >> 8), + cpu_stb_mmuidx_ra(env, arg2 + 6 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) <=3D 0) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, 7), (uint8_t)arg1, + cpu_stb_mmuidx_ra(env, arg2 + 7 * dir, (uint8_t)arg1, mem_idx, GETPC()); } } @@ -157,40 +166,42 @@ void helper_sdl(CPUMIPSState *env, target_ulong arg1,= target_ulong arg2, void helper_sdr(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + int dir =3D cpu_is_bigendian(env) ? 1 : -1; + cpu_stb_mmuidx_ra(env, arg2, (uint8_t)arg1, mem_idx, GETPC()); =20 if (GET_LMASK64(arg2) >=3D 1) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -1), (uint8_t)(arg1 >> 8), + cpu_stb_mmuidx_ra(env, arg2 - 1 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) >=3D 2) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -2), (uint8_t)(arg1 >> 16), + cpu_stb_mmuidx_ra(env, arg2 - 2 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) >=3D 3) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -3), (uint8_t)(arg1 >> 24), + cpu_stb_mmuidx_ra(env, arg2 - 3 * dir, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) >=3D 4) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -4), (uint8_t)(arg1 >> 32), + cpu_stb_mmuidx_ra(env, arg2 - 4 * dir, (uint8_t)(arg1 >> 32), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) >=3D 5) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -5), (uint8_t)(arg1 >> 40), + cpu_stb_mmuidx_ra(env, arg2 - 5 * dir, (uint8_t)(arg1 >> 40), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) >=3D 6) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -6), (uint8_t)(arg1 >> 48), + cpu_stb_mmuidx_ra(env, arg2 - 6 * dir, (uint8_t)(arg1 >> 48), mem_idx, GETPC()); } =20 if (GET_LMASK64(arg2) =3D=3D 7) { - cpu_stb_mmuidx_ra(env, GET_OFFSET(arg2, -7), (uint8_t)(arg1 >> 56), + cpu_stb_mmuidx_ra(env, arg2 - 7 * dir, (uint8_t)(arg1 >> 56), mem_idx, GETPC()); } } --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) client-ip=209.85.128.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896651; cv=none; d=zohomail.com; s=zohoarc; b=QXo44FU6PbmT1WT099717P0MU0QMwENovBy+eT1yuaFnXsuuXCT/rKKGy45RqKAxxkSevQsWg/auyClOJ40N1ehp/57JGelG8KmL2cP32yNez0pXUB6tb2pcMOl6UyYAhA4omWsDwvqu5CImRpyGnjMCpZ5GuAeBI06UTR3Qkws= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896651; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=YqJT0Fe/p9d6kMQvfyYHlMwUslWVnfzG0wkISYe1e7Q=; b=VadI+Yj2huCa/CvI00hXsdwnxu9LaZzOmez/DAxdQwEbxSYFvMmmuzY8t7wKFaEL1CIJ33Si3AaqwbSxcdqeUtS4h0dyU8FVdShkNbJvtskUehGW3wbRjJ0dGpwpXl97164vtlo3/yG5y/x6QYLVTwJ4KnK5KHyWeBf2dEU4LiI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.zohomail.com with SMTPS id 1629896651388388.8068167184259; Wed, 25 Aug 2021 06:04:11 -0700 (PDT) Received: by mail-wm1-f46.google.com with SMTP id f9-20020a05600c1549b029025b0f5d8c6cso4242660wmg.4 for ; Wed, 25 Aug 2021 06:04:10 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id 11sm5335283wmi.15.2021.08.25.06.04.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:04:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YqJT0Fe/p9d6kMQvfyYHlMwUslWVnfzG0wkISYe1e7Q=; b=cfNUtn2Q9e4GA62oP+dPY67nxv7JRdn7Pp2GsIAsbhMDlX7gn+vhVootIi5gYiOfp6 nKKs9WJiGF9E78HZ34jfLCDwZj1Ubi2PQJF5vjq9fkQ8ijK5tv1dyowPyERs+NlcaADm tW3SghczqVJ77wAClwPf+11OeK5/3SdsFnUxavZ4iLytdo15+MexSN3WNAAarH3w2tqA 4Fx2PSj1MYNCKKlHrLRS3NLQ5YqnZ6KTs0hGjbIi4pCsFWpbCr+qnHuu1E0T/jE2PbZn 33RTCTWcO/0T7UrQ5z2KKjHtXv4Uyggu1uG4V4cu4Usi+Rz2TdxCOAG5sYXOMLn7YCsM Mg/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=YqJT0Fe/p9d6kMQvfyYHlMwUslWVnfzG0wkISYe1e7Q=; b=XBjP+602cCCDHROPs9PaDrehmBluKuuPzEr8jZWaDQKIHSMuyNHoiYiyKJtj0qmoFs lxY4dJxUUFBO3QQz5TUDpRoijLT2VopnNMXe4Xor4WuIbwex9hSaVsFTXh8WMXN8olDc GaRmvR4gYxWCWfUMWWD+jfROy9jWEM3+ubtaCUsC4varyqKMEITc83e94jK3F1nWI6mo Sj0WkFOv+QRqQEb0cpfgryVlXW1mZLTVO335hd8QCGtVaiVK7WynovOkcrsC197gawa2 CTGt+U7HATYZeLHifAgeYMUMRbtYuUiLILe0cf6YJvd0Q9Afotd1vVQRw+yQE4oNH5mL Cl+A== X-Gm-Message-State: AOAM531u4GpGlPphDp++XTUcYCfLPE4oR0n6kV48wqNy3xP1VMvR3e+B 8vAWKn3atjlgYx0k6tr7b9w= X-Google-Smtp-Source: ABdhPJynRXRPSd8wWM1Cgd5VR1zx4nvKVXMEH6a/UAvdObKGDRTxAijooZAVWll1tjsBK2cREcSadQ== X-Received: by 2002:a1c:27c2:: with SMTP id n185mr8946330wmn.20.1629896649497; Wed, 25 Aug 2021 06:04:09 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 25/28] target/mips: Replace GET_LMASK() macro by get_lmask(32) function Date: Wed, 25 Aug 2021 15:02:08 +0200 Message-Id: <20210825130211.1542338-26-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896652756100001 The target endianess information is stored in the BigEndian bit of the Config0 register in CP0. Replace the GET_LMASK() macro by an inlined get_lmask() function, passing CPUMIPSState and the word size as argument. We can remove one use of the TARGET_WORDS_BIGENDIAN definition. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210818215517.2560994-3-f4bug@amsat.org> --- target/mips/tcg/ldst_helper.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/target/mips/tcg/ldst_helper.c b/target/mips/tcg/ldst_helper.c index 8d1dfea6766..054459703aa 100644 --- a/target/mips/tcg/ldst_helper.c +++ b/target/mips/tcg/ldst_helper.c @@ -57,30 +57,39 @@ static inline bool cpu_is_bigendian(CPUMIPSState *env) return extract32(env->CP0_Config0, CP0C0_BE, 1); } =20 -#ifdef TARGET_WORDS_BIGENDIAN -#define GET_LMASK(v) ((v) & 3) -#else -#define GET_LMASK(v) (((v) & 3) ^ 3) -#endif +static inline target_ulong get_lmask(CPUMIPSState *env, + target_ulong value, unsigned bits) +{ + unsigned mask =3D (bits / BITS_PER_BYTE) - 1; + + value &=3D mask; + + if (!cpu_is_bigendian(env)) { + value ^=3D mask; + } + + return value; +} =20 void helper_swl(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + target_ulong lmask =3D get_lmask(env, arg2, 32); int dir =3D cpu_is_bigendian(env) ? 1 : -1; =20 cpu_stb_mmuidx_ra(env, arg2, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); =20 - if (GET_LMASK(arg2) <=3D 2) { + if (lmask <=3D 2) { cpu_stb_mmuidx_ra(env, arg2 + 1 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 - if (GET_LMASK(arg2) <=3D 1) { + if (lmask <=3D 1) { cpu_stb_mmuidx_ra(env, arg2 + 2 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 - if (GET_LMASK(arg2) =3D=3D 0) { + if (lmask =3D=3D 0) { cpu_stb_mmuidx_ra(env, arg2 + 3 * dir, (uint8_t)arg1, mem_idx, GETPC()); } @@ -89,21 +98,22 @@ void helper_swl(CPUMIPSState *env, target_ulong arg1, t= arget_ulong arg2, void helper_swr(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + target_ulong lmask =3D get_lmask(env, arg2, 32); int dir =3D cpu_is_bigendian(env) ? 1 : -1; =20 cpu_stb_mmuidx_ra(env, arg2, (uint8_t)arg1, mem_idx, GETPC()); =20 - if (GET_LMASK(arg2) >=3D 1) { + if (lmask >=3D 1) { cpu_stb_mmuidx_ra(env, arg2 - 1 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 - if (GET_LMASK(arg2) >=3D 2) { + if (lmask >=3D 2) { cpu_stb_mmuidx_ra(env, arg2 - 2 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 - if (GET_LMASK(arg2) =3D=3D 3) { + if (lmask =3D=3D 3) { cpu_stb_mmuidx_ra(env, arg2 - 3 * dir, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); } --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) client-ip=209.85.128.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896655; cv=none; d=zohomail.com; s=zohoarc; b=E20uPQjpR42KjwK5RU63CEVitNzDSJjvDrom/2tP1wJSnYrL+kI/VdxWnxFWkFkl364wsA3fghl/Vz+Rgsis3UsoQUl1fpqAHuRZdg5/5ZZMj7KaX1+Z8T9VsmW0oMOGHpdIQFK2lzQlkO3V3xBAKgJXkEvgoaY6yACmGXYUgZA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896655; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=S7AhW4qakAQXR7MG6oQIs52Ne0TNOUcGgs1+LT6yXd8=; b=AIvIpqX9yoJlU+kcpNvDsOpyjtajtmkdSUlDseD84nHCGaT3sKgJC4yzBCyLLbaU8jRchDsDnFo85YXmdte55neWqHr2+eeSLnleS6BrI8Z4pAAO92/CtosUCC10UDyhrLFt9vP+oCtrS0EfbTKvibOM1BO5LuocbQQbb9+PLxM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.zohomail.com with SMTPS id 1629896655806123.51434539567992; Wed, 25 Aug 2021 06:04:15 -0700 (PDT) Received: by mail-wm1-f42.google.com with SMTP id z9-20020a7bc149000000b002e8861aff59so79483wmi.0 for ; Wed, 25 Aug 2021 06:04:15 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id d9sm11303921wrm.21.2021.08.25.06.04.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:04:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=S7AhW4qakAQXR7MG6oQIs52Ne0TNOUcGgs1+LT6yXd8=; b=XeYUK8t0DOiREORdQw4Gzx7FoIlS5cW+vZAX68r2gw/bStvCsadNhFp0gu6WiqBVfG lpldCuvKb8wjLRVwxM/bo0s0LI5mKWQ89IXkjW59Lri4/ippR1EA7MHJZOAAh5aZQQy9 6C53zJuqA6AAP299dUM8Ye/KUdXxayf6nZpZ06nykKmkxQm9r+RF7muLO4KhF4nUkH0T jLN4XRbJ0OV3BjHGXQQxohaY9S0wO/zlwmI4hTj8CDN5HLngiFIxDNRjfneEg4cw1tn1 prujxwI4DDCzI4UWn5BNhO4DWFZ6JRSGkOVkSTPsC+ZLcj14gAF0sQdZfNwG6OS/DwIY o57g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=S7AhW4qakAQXR7MG6oQIs52Ne0TNOUcGgs1+LT6yXd8=; b=tolcJgccwLqL6GADQ8GL5PI7Bure/nuds6WeOVpFN2ua4tBCzSkkvhNDO4WSW6mWCL P10QeTm0gT9GNYmNcKlx9ZedUfVhfuo+OWBt3vY+rm7rAjtfmYqHmcQQUE+bKFj6Zcpr FWN/Av72lM6ypTNJDr1bAOw3moEHHkNsCxcaB+7tvqpoON0pRTAMiCscmnRWiTyRPgIS tvNXP2gqNHYv7cXkVp0bZoy8IC6vkts+V/YxCVa9wt6mPlTRTf5FAbO+WUojuLpyieQB LrsxySPSwouJbCaFKnxWsDVCq/a3FIjTwu0Lq3M64752MDPFhbsQM91s9hG5PNoykMJb t9CA== X-Gm-Message-State: AOAM53350C29QFv/J3mQpFiro5UiRLOTMBmV7HENcPRFXZi/DrFKrZ0Y YmMF7/M9GHc8LCbwwE5Tl+Y= X-Google-Smtp-Source: ABdhPJz1G3TrgQmkbrLQTfCjeo4gjALxxwcm/LMQKHvVbqHyAN8LSDBbNGJmm7yUDd8FA1QU6DKqBw== X-Received: by 2002:a1c:1d3:: with SMTP id 202mr9063624wmb.179.1629896654012; Wed, 25 Aug 2021 06:04:14 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 26/28] target/mips: Replace GET_LMASK64() macro by get_lmask(64) function Date: Wed, 25 Aug 2021 15:02:09 +0200 Message-Id: <20210825130211.1542338-27-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896656403100001 The target endianess information is stored in the BigEndian bit of the Config0 register in CP0. Replace the GET_LMASK() macro by an inlined get_lmask() function, passing CPUMIPSState and the word size as argument. We can remove another use of the TARGET_WORDS_BIGENDIAN definition. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210818215517.2560994-4-f4bug@amsat.org> --- target/mips/tcg/ldst_helper.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/target/mips/tcg/ldst_helper.c b/target/mips/tcg/ldst_helper.c index 054459703aa..d0bd0267b24 100644 --- a/target/mips/tcg/ldst_helper.c +++ b/target/mips/tcg/ldst_helper.c @@ -124,50 +124,46 @@ void helper_swr(CPUMIPSState *env, target_ulong arg1,= target_ulong arg2, * "half" load and stores. We must do the memory access inline, * or fault handling won't work. */ -#ifdef TARGET_WORDS_BIGENDIAN -#define GET_LMASK64(v) ((v) & 7) -#else -#define GET_LMASK64(v) (((v) & 7) ^ 7) -#endif =20 void helper_sdl(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + target_ulong lmask =3D get_lmask(env, arg2, 64); int dir =3D cpu_is_bigendian(env) ? 1 : -1; =20 cpu_stb_mmuidx_ra(env, arg2, (uint8_t)(arg1 >> 56), mem_idx, GETPC()); =20 - if (GET_LMASK64(arg2) <=3D 6) { + if (lmask <=3D 6) { cpu_stb_mmuidx_ra(env, arg2 + 1 * dir, (uint8_t)(arg1 >> 48), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) <=3D 5) { + if (lmask <=3D 5) { cpu_stb_mmuidx_ra(env, arg2 + 2 * dir, (uint8_t)(arg1 >> 40), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) <=3D 4) { + if (lmask <=3D 4) { cpu_stb_mmuidx_ra(env, arg2 + 3 * dir, (uint8_t)(arg1 >> 32), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) <=3D 3) { + if (lmask <=3D 3) { cpu_stb_mmuidx_ra(env, arg2 + 4 * dir, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) <=3D 2) { + if (lmask <=3D 2) { cpu_stb_mmuidx_ra(env, arg2 + 5 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) <=3D 1) { + if (lmask <=3D 1) { cpu_stb_mmuidx_ra(env, arg2 + 6 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) <=3D 0) { + if (lmask <=3D 0) { cpu_stb_mmuidx_ra(env, arg2 + 7 * dir, (uint8_t)arg1, mem_idx, GETPC()); } @@ -176,41 +172,42 @@ void helper_sdl(CPUMIPSState *env, target_ulong arg1,= target_ulong arg2, void helper_sdr(CPUMIPSState *env, target_ulong arg1, target_ulong arg2, int mem_idx) { + target_ulong lmask =3D get_lmask(env, arg2, 64); int dir =3D cpu_is_bigendian(env) ? 1 : -1; =20 cpu_stb_mmuidx_ra(env, arg2, (uint8_t)arg1, mem_idx, GETPC()); =20 - if (GET_LMASK64(arg2) >=3D 1) { + if (lmask >=3D 1) { cpu_stb_mmuidx_ra(env, arg2 - 1 * dir, (uint8_t)(arg1 >> 8), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) >=3D 2) { + if (lmask >=3D 2) { cpu_stb_mmuidx_ra(env, arg2 - 2 * dir, (uint8_t)(arg1 >> 16), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) >=3D 3) { + if (lmask >=3D 3) { cpu_stb_mmuidx_ra(env, arg2 - 3 * dir, (uint8_t)(arg1 >> 24), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) >=3D 4) { + if (lmask >=3D 4) { cpu_stb_mmuidx_ra(env, arg2 - 4 * dir, (uint8_t)(arg1 >> 32), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) >=3D 5) { + if (lmask >=3D 5) { cpu_stb_mmuidx_ra(env, arg2 - 5 * dir, (uint8_t)(arg1 >> 40), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) >=3D 6) { + if (lmask >=3D 6) { cpu_stb_mmuidx_ra(env, arg2 - 6 * dir, (uint8_t)(arg1 >> 48), mem_idx, GETPC()); } =20 - if (GET_LMASK64(arg2) =3D=3D 7) { + if (lmask =3D=3D 7) { cpu_stb_mmuidx_ra(env, arg2 - 7 * dir, (uint8_t)(arg1 >> 56), mem_idx, GETPC()); } --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) client-ip=209.85.128.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896660; cv=none; d=zohomail.com; s=zohoarc; b=geVGAsV1KdUkzNBoJte85RKzNT/4iuWE+25rtV3Qu6xC3wwfyV0zxO1HLX3VTMmoEM/7AS/L2HxSjx56cEiZLA4yulGuTqoiKkJ47TzDeOiu5sljHNZXg8nlZAgE2OJM2czLNorJQNPys8YTHzW1QzVwq5gu4ZffnA8iidzDWo4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896660; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=i06r5piwhUzlfYEDel4YDW/Tf1grhwbEJWrNwUENspo=; b=FkXCj+KihKakKam2ArPAdatJvRoykipkAMntEVKJaLyRMo79fPOPyOVYqW+Jm2G+iS02TWZm1WWiiKt3HhfP3hOdPgvzq39wPUYKzWQ5eI1sAQu91i21LdJwLsWkWs1ur24nxjYvNtNg2aZXHczXq2a+B5Yr7Jf4sv9dS3124SE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.zohomail.com with SMTPS id 1629896660383259.5245116704832; Wed, 25 Aug 2021 06:04:20 -0700 (PDT) Received: by mail-wm1-f49.google.com with SMTP id k20-20020a05600c0b5400b002e87ad6956eso2870922wmr.1 for ; Wed, 25 Aug 2021 06:04:19 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id f17sm5347640wmq.17.2021.08.25.06.04.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:04:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i06r5piwhUzlfYEDel4YDW/Tf1grhwbEJWrNwUENspo=; b=HFPg8K8tNG/pEdg2C2XruUsYRgEGWxvgFyZlEwqpGunsAd+7sFj757K9KCIgqGu/ro BCkKGH35QFAyoDkR0+WqwL4K70h1inWmwz4xnZRz5LfPsg1IeRYJ5L3av7KO1W6Ol/1w p2f5sDcwMmDwKeRonLoNyKqNFqbVzIjBNslnRn7FcVi0WYFk+054fPOkoGaPAeiTVRaM K2Eo/v0dLyjaLnsDssuOc3VJEPwaY439t+CYq9EBBXEjqSH24CiM6EX+hy889455ipo3 e8QgR69hb7IdLW3qa2azA0YSrO2PIkn7aLFepsm6hit+k6JTAB1BxjElCc+UJ4MHYxSF z5LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=i06r5piwhUzlfYEDel4YDW/Tf1grhwbEJWrNwUENspo=; b=HahAhMETSeHkN5jY25jPqqP+z+XDkpqag22vNQhlyUTE6EEjhR8lfzMw60/brQKras kaKw5Mz0kv7FY7xsaM81GwBA18jRfvrJsFFjiiF+oeUoCLaQE/uDGjvdQjUf+6BjC17Q EyEudZt9LcqpSQum+dqa6ePKWglkfAxHeOQhlgdErzKAYKREi8TQnReRNam0YjAPtKQx x+/MC4hN7VIKk3cqc+tnlYw/fpcaBCyKVFHR8mhUOoz9vHtvm+MOXxcHGLmH1PiZE5fp nqcuZ4jjDxyhZff4QHgwnqbruowQNsylMLGODTmduBeQK50GUd1xSGzSVuIPQWRDUjVB psUA== X-Gm-Message-State: AOAM530Rt0yc4098hx/LsIt/TgkV7R2bzJVUoC6u4uBii/CbaOSGcpob uxVtApwdvU3gcEtw9jkZ9NM= X-Google-Smtp-Source: ABdhPJxcuWFB1hQbdf3Zneam/wbf851XVjTa8733htc0QqBvlOXgJ9HZUv6YAp8AYF0tiLXpEn/oJA== X-Received: by 2002:a05:600c:4f91:: with SMTP id n17mr9042416wmq.54.1629896658554; Wed, 25 Aug 2021 06:04:18 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 27/28] target/mips: Store CP0_Config0 in DisasContext Date: Wed, 25 Aug 2021 15:02:10 +0200 Message-Id: <20210825130211.1542338-28-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896661815100001 Most TCG helpers only have access to a DisasContext pointer, not CPUMIPSState. Store a copy of CPUMIPSState::CP0_Config0 in DisasContext so we can access it from TCG helpers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210818164321.2474534-5-f4bug@amsat.org> --- target/mips/tcg/translate.h | 1 + target/mips/tcg/translate.c | 1 + 2 files changed, 2 insertions(+) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index eac01a81182..4b4fa2c207e 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -18,6 +18,7 @@ typedef struct DisasContext { target_ulong page_start; uint32_t opcode; uint64_t insn_flags; + int32_t CP0_Config0; int32_t CP0_Config1; int32_t CP0_Config2; int32_t CP0_Config3; diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 40cb1fc9508..ac97f5f6f0f 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -15979,6 +15979,7 @@ static void mips_tr_init_disas_context(DisasContext= Base *dcbase, CPUState *cs) ctx->page_start =3D ctx->base.pc_first & TARGET_PAGE_MASK; ctx->saved_pc =3D -1; ctx->insn_flags =3D env->insn_flags; + ctx->CP0_Config0 =3D env->CP0_Config0; ctx->CP0_Config1 =3D env->CP0_Config1; ctx->CP0_Config2 =3D env->CP0_Config2; ctx->CP0_Config3 =3D env->CP0_Config3; --=20 2.31.1 From nobody Mon May 6 10:55:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) client-ip=209.85.128.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1629896666; cv=none; d=zohomail.com; s=zohoarc; b=g0a4jJjdOict+S+0tRsbBklgH6MLhUsQOcFouAQGMTdUASqIsNMnk4m0w7PcprCA8L1D4N+sZ4mm53EX4qQfxhnHpAB3sAZBYlOwsAJJLTIk6nwp/OFUT8U9KP8qSUd56uGoBQGjLGmUuwp57bnaiPdFbxng7Pfm0KISih7mTfk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629896666; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oYhzaZUURzfrDTcroBAA5i/YZ8QE6/uSOX7tjzBaBZY=; b=hL73ytfO0DAOCkKNWoGLx6lcj0L2PkUGuKBNHZ5r0PPXmcw4dgks8oqhMrKaD8GVVbwJrUvQN1ZsJAbufCjuCL2gTFq92Z1k4guSjBqTnVxmYJ+zAwjv+3hHx9xeKSmNMchTNUzFhLKCkOGV0r4wm4uB4fVKHptfm8/G+oqzYZc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.zohomail.com with SMTPS id 162989666605572.4897766499588; Wed, 25 Aug 2021 06:04:26 -0700 (PDT) Received: by mail-wm1-f50.google.com with SMTP id u15so14940157wmj.1 for ; Wed, 25 Aug 2021 06:04:25 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (163.red-83-52-55.dynamicip.rima-tde.net. [83.52.55.163]) by smtp.gmail.com with ESMTPSA id n4sm5570793wro.81.2021.08.25.06.04.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Aug 2021 06:04:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oYhzaZUURzfrDTcroBAA5i/YZ8QE6/uSOX7tjzBaBZY=; b=rhLv9g6dKVbij5hQBlahIyC79+sFra4185bN3ZYxVi2JIJEWxDgrGg1tKZAONx1vEq AgCF5sM2S8tnOWh/Q7Fetq8FBrNHKYbWxnZHM0zhj7HyOEFwwltKdnqVfvaAfIlWq3RO SeNvDZ5opwir96k60pmDL4ZYCP1pVsuPh+tnZnw9Baffp+3S0/VBrq/qZjrBTDS20RoJ 7qmsdVO5oMDvcHJ5cmR4pGd/98IGjF94CcUtqgyRGPHbzXimfCLsz6CO8TjSZlaMCvlc ehPwPmTSQFWKZFRFuyeBXirCWHw8TpRaUpD0LhE7Op1jHPNq4ZBZqoQ8p6IEXZEUhyj2 EgQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=oYhzaZUURzfrDTcroBAA5i/YZ8QE6/uSOX7tjzBaBZY=; b=FEEq7TNkmzUI+nmyAI0ewIeSSNLXy9dzUiNOGi+sicFCJKRIEFdGwdnp36DbPnikUL p6wvN/YsjNJOhXimCzgZ3T2huh2o9resgkJpITPgAqPtilhcHSHL3nj9VTk/l2Zclzqx wnvcBwYyBO9WTyRm8UNV3BQEAKq1NPYqm6zX596e6zlIg2Ur+wj6VWrCo8lvhxTJNKNp YfXHdxy/wEOYu/iiuuI5xhn4jHV28k1eYj0BoKCjGgAJCeq4Ku9p0fJnjfQd8l00Z7K2 EHm4Refcc6Px7F03rLG7vkQkKu/IiW2srX5R9LGfwJlYaZ8Unuw+K/1QEraYlbfqwWCw pztg== X-Gm-Message-State: AOAM531OaYb93sD0nQq8QhC2W9JcqgE8+GpM3a3CsPDME2Q918y67MJr U5LKQLf4omylG2M3d4GwX90= X-Google-Smtp-Source: ABdhPJycEEqrDEPL9ejIRhHtZ3vn4GwkFe3DRz0393/m6c5M82qFdBfN4yygugmINGmOc0BBtkrelQ== X-Received: by 2002:a1c:21c3:: with SMTP id h186mr549111wmh.186.1629896663127; Wed, 25 Aug 2021 06:04:23 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Richard Henderson Subject: [PULL 28/28] target/mips: Replace TARGET_WORDS_BIGENDIAN by cpu_is_bigendian() Date: Wed, 25 Aug 2021 15:02:11 +0200 Message-Id: <20210825130211.1542338-29-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210825130211.1542338-1-f4bug@amsat.org> References: <20210825130211.1542338-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1629896667461100001 Add the inlined cpu_is_bigendian() function in "translate.h". Replace the TARGET_WORDS_BIGENDIAN #ifdef'ry by calls to cpu_is_bigendian(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20210818164321.2474534-6-f4bug@amsat.org> --- target/mips/tcg/translate.h | 5 ++ target/mips/tcg/translate.c | 70 ++++++++++++------------ target/mips/tcg/nanomips_translate.c.inc | 20 +++---- 3 files changed, 50 insertions(+), 45 deletions(-) diff --git a/target/mips/tcg/translate.h b/target/mips/tcg/translate.h index 4b4fa2c207e..6111493651f 100644 --- a/target/mips/tcg/translate.h +++ b/target/mips/tcg/translate.h @@ -224,4 +224,9 @@ bool decode_ext_vr54xx(DisasContext *ctx, uint32_t insn= ); static bool trans_##NAME(DisasContext *ctx, arg_##NAME *a) \ { return FUNC(ctx, a, __VA_ARGS__); } =20 +static inline bool cpu_is_bigendian(DisasContext *ctx) +{ + return extract32(ctx->CP0_Config0, CP0C0_BE, 1); +} + #endif diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index ac97f5f6f0f..6f4a9a839c2 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -2048,9 +2048,9 @@ static void gen_ld(DisasContext *ctx, uint32_t opc, */ tcg_gen_qemu_ld_tl(t1, t0, mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 7); -#ifndef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 7); -#endif + if (!cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 7); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~7); tcg_gen_qemu_ld_tl(t0, t0, mem_idx, MO_TEQ); @@ -2072,9 +2072,9 @@ static void gen_ld(DisasContext *ctx, uint32_t opc, */ tcg_gen_qemu_ld_tl(t1, t0, mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 7); -#ifdef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 7); -#endif + if (cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 7); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~7); tcg_gen_qemu_ld_tl(t0, t0, mem_idx, MO_TEQ); @@ -2153,9 +2153,9 @@ static void gen_ld(DisasContext *ctx, uint32_t opc, */ tcg_gen_qemu_ld_tl(t1, t0, mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 3); -#ifndef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 3); -#endif + if (!cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 3); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~3); tcg_gen_qemu_ld_tl(t0, t0, mem_idx, MO_TEUL); @@ -2181,9 +2181,9 @@ static void gen_ld(DisasContext *ctx, uint32_t opc, */ tcg_gen_qemu_ld_tl(t1, t0, mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 3); -#ifdef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 3); -#endif + if (cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 3); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~3); tcg_gen_qemu_ld_tl(t0, t0, mem_idx, MO_TEUL); @@ -4400,9 +4400,9 @@ static void gen_loongson_lswc2(DisasContext *ctx, int= rt, t1 =3D tcg_temp_new(); tcg_gen_qemu_ld_tl(t1, t0, ctx->mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 3); -#ifndef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 3); -#endif + if (!cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 3); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~3); tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_TEUL); @@ -4430,9 +4430,9 @@ static void gen_loongson_lswc2(DisasContext *ctx, int= rt, t1 =3D tcg_temp_new(); tcg_gen_qemu_ld_tl(t1, t0, ctx->mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 3); -#ifdef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 3); -#endif + if (cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 3); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~3); tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_TEUL); @@ -4462,9 +4462,9 @@ static void gen_loongson_lswc2(DisasContext *ctx, int= rt, t1 =3D tcg_temp_new(); tcg_gen_qemu_ld_tl(t1, t0, ctx->mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 7); -#ifndef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 7); -#endif + if (!cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 7); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~7); tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_TEQ); @@ -4484,9 +4484,9 @@ static void gen_loongson_lswc2(DisasContext *ctx, int= rt, t1 =3D tcg_temp_new(); tcg_gen_qemu_ld_tl(t1, t0, ctx->mem_idx, MO_UB); tcg_gen_andi_tl(t1, t0, 7); -#ifdef TARGET_WORDS_BIGENDIAN - tcg_gen_xori_tl(t1, t1, 7); -#endif + if (cpu_is_bigendian(ctx)) { + tcg_gen_xori_tl(t1, t1, 7); + } tcg_gen_shli_tl(t1, t1, 3); tcg_gen_andi_tl(t0, t0, ~7); tcg_gen_qemu_ld_tl(t0, t0, ctx->mem_idx, MO_TEQ); @@ -11409,17 +11409,17 @@ static void gen_flt3_arith(DisasContext *ctx, uin= t32_t opc, gen_set_label(l1); tcg_gen_brcondi_tl(TCG_COND_NE, t0, 4, l2); tcg_temp_free(t0); -#ifdef TARGET_WORDS_BIGENDIAN - gen_load_fpr32(ctx, fp, fs); - gen_load_fpr32h(ctx, fph, ft); - gen_store_fpr32h(ctx, fp, fd); - gen_store_fpr32(ctx, fph, fd); -#else - gen_load_fpr32h(ctx, fph, fs); - gen_load_fpr32(ctx, fp, ft); - gen_store_fpr32(ctx, fph, fd); - gen_store_fpr32h(ctx, fp, fd); -#endif + if (cpu_is_bigendian(ctx)) { + gen_load_fpr32(ctx, fp, fs); + gen_load_fpr32h(ctx, fph, ft); + gen_store_fpr32h(ctx, fp, fd); + gen_store_fpr32(ctx, fph, fd); + } else { + gen_load_fpr32h(ctx, fph, fs); + gen_load_fpr32(ctx, fp, ft); + gen_store_fpr32(ctx, fph, fd); + gen_store_fpr32h(ctx, fp, fd); + } gen_set_label(l2); tcg_temp_free_i32(fp); tcg_temp_free_i32(fph); diff --git a/target/mips/tcg/nanomips_translate.c.inc b/target/mips/tcg/nan= omips_translate.c.inc index 09e64a69480..a66ae267963 100644 --- a/target/mips/tcg/nanomips_translate.c.inc +++ b/target/mips/tcg/nanomips_translate.c.inc @@ -999,11 +999,11 @@ static void gen_llwp(DisasContext *ctx, uint32_t base= , int16_t offset, =20 gen_base_offset_addr(ctx, taddr, base, offset); tcg_gen_qemu_ld64(tval, taddr, ctx->mem_idx); -#ifdef TARGET_WORDS_BIGENDIAN - tcg_gen_extr_i64_tl(tmp2, tmp1, tval); -#else - tcg_gen_extr_i64_tl(tmp1, tmp2, tval); -#endif + if (cpu_is_bigendian(ctx)) { + tcg_gen_extr_i64_tl(tmp2, tmp1, tval); + } else { + tcg_gen_extr_i64_tl(tmp1, tmp2, tval); + } gen_store_gpr(tmp1, reg1); tcg_temp_free(tmp1); gen_store_gpr(tmp2, reg2); @@ -1035,11 +1035,11 @@ static void gen_scwp(DisasContext *ctx, uint32_t ba= se, int16_t offset, gen_load_gpr(tmp1, reg1); gen_load_gpr(tmp2, reg2); =20 -#ifdef TARGET_WORDS_BIGENDIAN - tcg_gen_concat_tl_i64(tval, tmp2, tmp1); -#else - tcg_gen_concat_tl_i64(tval, tmp1, tmp2); -#endif + if (cpu_is_bigendian(ctx)) { + tcg_gen_concat_tl_i64(tval, tmp2, tmp1); + } else { + tcg_gen_concat_tl_i64(tval, tmp1, tmp2); + } =20 tcg_gen_ld_i64(llval, cpu_env, offsetof(CPUMIPSState, llval_wp)); tcg_gen_atomic_cmpxchg_i64(val, taddr, llval, tval, --=20 2.31.1