On 5/17/22 05:39, [email protected] wrote:
-uint64_t helper_xscvspdpn(CPUPPCState *env, uint64_t xb)
+uint64_t helper_XSCVSPDPN(uint64_t xb)
{
return helper_todouble(xb >> 32);
}
Ideally, this helper would not exist and you'd just use helper_todouble...
+bool trans_XSCVSPDPN(DisasContext *ctx, arg_XX2 *a)
+{
+ TCGv_i64 tmp;
+
+ REQUIRE_INSNS_FLAGS2(ctx, VSX207);
+ REQUIRE_VSX(ctx);
+
+ tmp = tcg_temp_new_i64();
+ get_cpu_vsr(tmp, a->xb, true);
... and here, you'd load the correct i32 value from VsrW(0) directly instead of loading an
i64 value followed by a shift.
But this is still an improvement so,
Reviewed-by: Richard Henderson <[email protected]>
r~