On 10/07/2016 01:57 PM, Nikunj A Dadhania wrote:
+static void gen_xxbrq(DisasContext *ctx)
+{
+    TCGv_i64 xth = cpu_vsrh(xT(ctx->opcode));
+    TCGv_i64 xtl = cpu_vsrl(xT(ctx->opcode));
+    TCGv_i64 xbh = cpu_vsrh(xB(ctx->opcode));
+    TCGv_i64 xbl = cpu_vsrl(xB(ctx->opcode));
+
+    if (unlikely(!ctx->vsx_enabled)) {
+        gen_exception(ctx, POWERPC_EXCP_VSXU);
+        return;
+    }
+    tcg_gen_bswap64_i64(xth, xbl);
+    tcg_gen_bswap64_i64(xtl, xbh);
+}

You need a temporary for the case of T==B. You don't want to overwrite XBH with XTH before you consume the input.


r~

Reply via email to