|
| From: | Richard Henderson |
| Subject: | Re: [Qemu-ppc] [PATCH 3/4] target-ppc: implement xxbr[qdwh] instruction |
| Date: | Mon, 10 Oct 2016 10:33:21 -0500 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
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~
| [Prev in Thread] | Current Thread | [Next in Thread] |