Hi Richard,
On 4/20/24 21:21, Richard Henderson wrote:
On 4/19/24 02:25, Chinmay Rath wrote:
Hi Richard,
On 4/17/24 00:06, Richard Henderson wrote:
On 4/15/24 23:39, Chinmay Rath wrote:
+static bool trans_MADDHDU(DisasContext *ctx, arg_MADDHDU *a)
...
+ tcg_gen_movi_i64(t1, 0);
Drop the movi.
+ tcg_gen_add2_i64(t1, cpu_gpr[a->vrt], lo, hi, cpu_gpr[a->rc],
t1);
Use tcg_constant_i64(0).
Looks like tcg_gen_add2_i64 internally modifies the passed arguments,
hence constant is not expected.
However, I tried using tcg_constant_i64(0) as suggested but this
leads to an assert failure :
qemu-system-ppc64: ../tcg/tcg.c:5071: tcg_reg_alloc_op: Assertion
`!temp_readonly(ts)' failed.
You misunderstood my suggestion.
TCGv_i64 t1 = tcg_temp_new_i64();
tcg_gen_add2_i64(t1, cpu_gpr[vrt], lo, hi, cpu_gpr[a->rc],
tcg_constantant_i64(0));
Thank you for the clarification. Will add this to v2.
Regards,
Chinmay
r~