On 09.06.2022 18:53, Richard Henderson wrote:
On 6/9/22 01:23, Pavel Dovgalyuk wrote:
+static bool trans_BADDU(DisasContext *ctx, arg_BADDU *a)
+{
+ TCGv t0, t1;
+
+ if (a->rt == 0) {
+ /* nop */
+ return true;
+ }
I believe that we're standardizing on using gen_store_gpr, and not
checking for r0 everywhere.
I didn't remove this condition for making translation a bit faster.
Now there are no jumps or helpers, and I believe that optimizer
can remove everything in case of r0.
But if you insist, I'll remove this check.
+static bool trans_EXTS(DisasContext *ctx, arg_EXTS *a)
+{
+ TCGv t0;
+
+ if (a->rt == 0) {
+ /* nop */
+ return true;
+ }
+
+ t0 = tcg_temp_new();
+ gen_load_gpr(t0, a->rs);
+ tcg_gen_sextract_tl(t0, t0, a->p, a->lenm1);
a->lenm1 + 1.
+ tcg_gen_deposit_z_tl(t0, t0, a->p, a->lenm1);
Likewise.
r~