From nobody Mon Feb 9 05:29:54 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.218.45 as permitted sender) client-ip=209.85.218.45; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-f45.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1615209368; cv=none; d=zohomail.com; s=zohoarc; b=bJ/7h0XR7opYwsa06z8irwtmFrP6QB30GzFzIde85Llt0gVGmHFBDKTsBrEk5iORnrYU9AWUGVi2rPEa9w89KzikS/GV91Gcfm/aZHYbx3n23ylr8f3eaMKSFwyE0wFkQztKsgfjfr/rnVbIXNejV8sAsE/lrk42fwkjT9dCtAM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615209368; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=5dXYvOToBh/C14fhRk4mzy7G6kcw3Nk7ptzwZz1U4kA=; b=MXc9NqR0bYltNoBQgHbRAbfGzTu7HsSKXTQJN5tXHHhPC9cWvlTjOJbHG9x4XcYq8XpJtuuoYP+FCs7W0sGCzhSddmRCBVFSgvASmJbVGp5BB19ukyRiiRSLH46G24NNTdRy3/FQQR7zDWHl4YPsOU/QDnXpPHZnPPuPERj8utA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by mx.zohomail.com with SMTPS id 1615209368287210.3157544133784; Mon, 8 Mar 2021 05:16:08 -0800 (PST) Received: by mail-ej1-f45.google.com with SMTP id hs11so20324338ejc.1 for ; Mon, 08 Mar 2021 05:16:07 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id m7sm6646349ejk.52.2021.03.08.05.16.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 05:16:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=5dXYvOToBh/C14fhRk4mzy7G6kcw3Nk7ptzwZz1U4kA=; b=ttx2KpEoAUH76/RRf3KNY42VZxOh6v29ZfGTBDrnTEZv1FRl3EF8Ep0LBGKIBy6Mag HbqdOTU7zhZZUuKpZmM4A00WJBDebiCwjDSvtHzjxKTtdgM9C3fFQ0jlQyu2tH/H20kx MLhI7oRoM4tg0IqBj9Wwv5R1dABZII7Q+mC6WILP/dlSFEXvgeXbGyJTiLAsYBCTTN4t u1m6NcAEqHV0uIMgA5FxeTIp7bOBe3JHTHkwcSgr00gHFIi+pDxaHZDUPLeb78xR42qN i4T0kadV80MDZPc2TPjkU225hPrgKIH46Es6uQrSoAYmmOHU5wMYBzEdMkmEmWWlwkGw iDkQ== 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 :mime-version:content-transfer-encoding; bh=5dXYvOToBh/C14fhRk4mzy7G6kcw3Nk7ptzwZz1U4kA=; b=GbYZ0l1tftOlgfZCRs+IBHsEPLTXTh3MiqjCAWAj77a5dTFg0W2lyQCnZwHyNniEeh 7HEc//INbOIHdXQM6P44DmEPAfXY+bBe2qgMqqZW9/X1JfdcQjhsTwwwP05jqt4vTp2J I3ANa6+qL3FCgvNwlUtnE0ba7wCcqOr0nTtsjfYqrMffMWzA0AivZEDnBnR3p9TYTLb5 Jcs1TZueWcAQICn4B+p/3B1gNsfijjXSkFSwfgJBykPu9MdNdCoQ2Psqyhe99VJOl7Lw WFijAFn+qovg6uBGDd0Ug5t1Tfv4otOhlKMnQYjFfafPjK/othlvY7ZjFkyeKysndvZy mVIg== X-Gm-Message-State: AOAM5316Sc6Kca5DaCjn0MiceNwV+rLpfGUK+3Kr7lxe4dfSp9nx/+kJ Ezn9Vmlb3Ogjupj/XS9E13k= X-Google-Smtp-Source: ABdhPJwxIc5n2yFPZjrtmaND6V8kYMSszuwstst94BKdfXnqGemuSypzVsKlGea8PekxyIdzqrIbYA== X-Received: by 2002:a17:906:5797:: with SMTP id k23mr15344811ejq.515.1615209366539; Mon, 08 Mar 2021 05:16:06 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , Aurelien Jarno , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Richard Henderson Subject: [PATCH] target/mips: Use gen_load_gpr[_hi]() when possible Date: Mon, 8 Mar 2021 14:16:04 +0100 Message-Id: <20210308131604.460693-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Use gen_load_gpr[_hi]() instead of open coding it. Patch generated using the following spatch script: @gen_load_gpr@ identifier reg_idx; expression tcg_reg; @@ -if (reg_idx =3D=3D 0) { - tcg_gen_movi_tl(tcg_reg, 0); -} else { - tcg_gen_mov_tl(tcg_reg, cpu_gpr[reg_idx]); -} +gen_load_gpr(tcg_reg, reg_idx); @gen_load_gpr_hi@ identifier reg_idx; expression tcg_reg; @@ -if (reg_idx =3D=3D 0) { - tcg_gen_movi_i64(tcg_reg, 0); -} else { - tcg_gen_mov_i64(tcg_reg, cpu_gpr_hi[reg_idx]); -} +gen_load_gpr_hi(tcg_reg, reg_idx); Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.c | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index 64e0baf11b7..9b08785f2b8 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -10460,11 +10460,7 @@ static void gen_movci(DisasContext *ctx, int rd, i= nt rs, int cc, int tf) tcg_gen_andi_i32(t0, fpu_fcr31, 1 << get_fp_bit(cc)); tcg_gen_brcondi_i32(cond, t0, 0, l1); tcg_temp_free_i32(t0); - if (rs =3D=3D 0) { - tcg_gen_movi_tl(cpu_gpr[rd], 0); - } else { - tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]); - } + gen_load_gpr(cpu_gpr[rd], rs); gen_set_label(l1); } =20 @@ -14794,24 +14790,15 @@ static void gen_pool16c_insn(DisasContext *ctx) static inline void gen_movep(DisasContext *ctx, int enc_dest, int enc_rt, int enc_rs) { - int rd, rs, re, rt; + int rd, re; static const int rd_enc[] =3D { 5, 5, 6, 4, 4, 4, 4, 4 }; static const int re_enc[] =3D { 6, 7, 7, 21, 22, 5, 6, 7 }; static const int rs_rt_enc[] =3D { 0, 17, 2, 3, 16, 18, 19, 20 }; + rd =3D rd_enc[enc_dest]; re =3D re_enc[enc_dest]; - rs =3D rs_rt_enc[enc_rs]; - rt =3D rs_rt_enc[enc_rt]; - if (rs) { - tcg_gen_mov_tl(cpu_gpr[rd], cpu_gpr[rs]); - } else { - tcg_gen_movi_tl(cpu_gpr[rd], 0); - } - if (rt) { - tcg_gen_mov_tl(cpu_gpr[re], cpu_gpr[rt]); - } else { - tcg_gen_movi_tl(cpu_gpr[re], 0); - } + gen_load_gpr(cpu_gpr[rd], rs_rt_enc[enc_rs]); + gen_load_gpr(cpu_gpr[re], rs_rt_enc[enc_rt]); } =20 static void gen_pool16c_r6_insn(DisasContext *ctx) @@ -24229,11 +24216,7 @@ static void gen_mmi_pcpyud(DisasContext *ctx) if (rd =3D=3D 0) { /* nop */ } else { - if (rs =3D=3D 0) { - tcg_gen_movi_i64(cpu_gpr[rd], 0); - } else { - tcg_gen_mov_i64(cpu_gpr[rd], cpu_gpr_hi[rs]); - } + gen_load_gpr_hi(cpu_gpr[rd], rs); if (rt =3D=3D 0) { tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); } else { --=20 2.26.2