On 7/20/21 11:53 PM, Song Gao wrote:
+static bool trans_fldx_d(DisasContext *ctx, arg_fldx_d *a) +{ + TCGv t0; + TCGv_i64 fp0; + TCGv Rj = cpu_gpr[a->rj]; + TCGv Rk = cpu_gpr[a->rk]; + + t0 = tcg_temp_new(); + fp0 = tcg_temp_new_i64(); + + if (a->rj == 0 && a->rk == 0) { + /* Nop */ + return true; + }
This is not true. This is simply a read from address 0 + 0 = 0. Similarly for all of the other indexed memory operations. And again, you should be using helpers to reduce the replication here. r~