[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/7] tcg-hppa: Implement deposit operation.
From: |
Stuart Brady |
Subject: |
Re: [Qemu-devel] [PATCH 3/7] tcg-hppa: Implement deposit operation. |
Date: |
Fri, 7 Jan 2011 23:35:03 +0000 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Fri, Jan 07, 2011 at 02:42:59PM -0800, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> tcg/hppa/tcg-target.c | 58 +++++++++++++++++++++++++++++++++++++++++++-----
> tcg/hppa/tcg-target.h | 1 +
> 2 files changed, 53 insertions(+), 6 deletions(-)
>
> diff --git a/tcg/hppa/tcg-target.c b/tcg/hppa/tcg-target.c
> index 7f4653e..2c5df57 100644
> --- a/tcg/hppa/tcg-target.c
> +++ b/tcg/hppa/tcg-target.c
> @@ -467,6 +467,22 @@ static inline void tcg_out_dep(TCGContext *s, int ret,
> int arg,
> | INSN_SHDEP_CP(31 - ofs) | INSN_DEP_LEN(len));
> }
>
> +static inline void tcg_out_depi(TCGContext *s, int ret, int arg,
^^^
> + unsigned ofs, unsigned len)
> +{
> + assert(ofs < 32 && len <= 32 - ofs);
> + tcg_out32(s, INSN_DEPI | INSN_R2(ret) | INSN_IM5(val)
^^^
The parameter should be named val, too.
[...]
> static void tcg_out_shl(TCGContext *s, int ret, int arg, int creg)
> @@ -1407,6 +1420,38 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode
> opc, const TCGArg *args,
> }
> break;
>
> + case INDEX_op_deposit_i32:
> + {
> + unsigned ofs = args[3] >> 8, len = args[3] & 0xff;
> + int arg2 = args[2];
> + int arg1 = args[1];
> + int arg0 = args[0];
> +
> + if (const_args[1]) {
Surely const_args[1] && arg1 == 0?
> + if (const_args[2]) {
> + tcg_out_movi(s, TCG_TYPE_I32, arg0,
> + (arg2 & ((1u << len) - 1)) << ofs);
> + } else {
> + tcg_out_zdep(s, arg0, arg2, ofs, len);
> + }
Otherwise, looks good at first glance.
It'll be a few days before I can test on an HPPA box, though.
Cheers,
--
Stuart Brady
- [Qemu-devel] [PATCH 0/7] Define "deposit" tcg operation, Richard Henderson, 2011/01/07
- [Qemu-devel] [PATCH 6/7] target-i386: Use deposit operation., Richard Henderson, 2011/01/07
- [Qemu-devel] [PATCH 3/7] tcg-hppa: Implement deposit operation., Richard Henderson, 2011/01/07
- Re: [Qemu-devel] [PATCH 3/7] tcg-hppa: Implement deposit operation.,
Stuart Brady <=
- [Qemu-devel] [PATCH 7/7] target-ppc: Use deposit operation., Richard Henderson, 2011/01/07
- [Qemu-devel] [PATCH 4/7] tcg-ia64: Implement deposit operation., Richard Henderson, 2011/01/07
- [Qemu-devel] [PATCH 5/7] tcg-i386: Implement deposit operation., Richard Henderson, 2011/01/07