On Fri, 22 Oct 2021, Richard Henderson wrote:
On 10/21/21 12:45 PM, matheus.fe...@eldorado.org.br wrote:
+#if defined(TARGET_PPC64)
+ return do_vinsx(ctx, a->vrt, size, right, cpu_gpr[a->vra],
cpu_gpr[a->vrb],
+ gen_helper);
+#else
+ bool ok;
+ TCGv_i64 val;
+
+ val = tcg_temp_new_i64();
+ tcg_gen_extu_tl_i64(val, cpu_gpr[a->vrb]);
+
+ ok = do_vinsx(ctx, a->vrt, size, right, cpu_gpr[a->vra], val,
gen_helper);
+
+ tcg_temp_free_i64(val);
+ return ok;
+#endif
Oh, and what's all this?
Either this isn't defined for !PPC64 at all, or you should just use
target_ulong and not do any ifdeffing at all.
You mentioning target_ulong reminded me a question I had. Currently we
have qemu-system-ppc and qemu-system-ppc64 but the latter includes all
machines of the former too so you could run for example sam460ex with
qemu-system-ppc64 (except mac99 which behaves differently based on which
executable it's part of but you could use mac99 -cpu G4 with
qemu-system-ppc64 as well). But isn't target_ulong different in these
executables and could that cause a problem with this? I've always used
qemu-system-ppc for 32 bit machines but we could have one just executable
for all machines if there's no need for both.
Regards,
BALATON Zoltan