On 5/17/22 05:39, matheus.fe...@eldorado.org.br 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 <richard.hender...@linaro.org>


r~

Reply via email to