[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 12/13] Add xxspltw
From: |
Richard Henderson |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 12/13] Add xxspltw |
Date: |
Wed, 09 Oct 2013 13:19:15 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
On 10/04/2013 06:26 AM, Tom Musta wrote:
> + case 0: {
> + tcg_gen_mov_i64(b, cpu_vsrh(xB(ctx->opcode)));
> + tcg_gen_andi_i64(b, b, 0xFFFFFFFF00000000ul);
> + tcg_gen_shri_i64(b, b, 32);
> + break;
...
> + case 2: {
> + tcg_gen_mov_i64(b, cpu_vsrl(xB(ctx->opcode)));
> + tcg_gen_andi_i64(b, b, 0xFFFFFFFF00000000ul);
> + tcg_gen_shri_i64(b, b, 32);
> + break;
No need for the and.
Perhaps better as
TCGv_i64 vsr = (uim & 2 ? cpu_vrsl(xb) : cpu_vrsh(xb));
if (uim & 1) {
tcg_gen_ext32u_i64(b, vsr);
} else {
tcg_gen_shri_i32(b, vsr, 32);
}
> + tcg_gen_shli_i64(b2, b, 32);
> + tcg_gen_or_i64(b, b, b2);
deposit.
r~