qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v11 09/14] target-mips: Add ASE DSP bit/manipula


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH v11 09/14] target-mips: Add ASE DSP bit/manipulation instructions
Date: Wed, 17 Oct 2012 22:07:10 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Wed, Oct 17, 2012 at 05:16:11PM +1000, Richard Henderson wrote:
> On 2012-10-17 16:05, Aurelien Jarno wrote:
> >>>> > >> +                target_long temp;
> >>>> > >> +
> >>>> > >> +                imm = (ctx->opcode >> 16) & 0xFF;
> >>>> > >> +                temp = imm;
> >>>> > >> +                temp = (temp << 8) | temp;
> >>>> > >> +                temp = (temp << 16) | temp;
> >>>> > >> +                temp = (temp << 32) | temp;
> >>>> > >> +                tcg_gen_movi_tl(cpu_gpr[ret], temp);
> >>>> > >> +                break;
> >>>> > >> +            }
> >>> > >
> >>> > > This hasn't been fixed, and thus is still wrong.
> >>> > >
> >> > 
> >> > Thank you for check this again.
> >> > May you give me more comment about this please? I'm not sure what
> >> > should do here.
> >> > 
> > The instruction is defined as:
> > 
> > | Replicate a immediate byte into all elements of an eight byte vector.
> > |
> > | Description: rd ← immediate || immediate || immediate || immediate || 
> > immediate ||
> > |                   immediate || immediate || immediate
> > 
> > In your code, I only see the value replicated 4 times, not 8 times.
> 
> There are 3 doublings: 2**3 = 8.  Look again, it's right.
> 

Oops, you are correct, I read it to fast and thought it was implemented
the same way as the other REPL instructions, that is the immediate are
orred one at a time.

So Jia, please keep the original version of this code.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]