Re: [Qemu-devel] [PATCH 1/2] target-arm: Move Neon VUZP to a helper function

2011-02-11 Thread Peter Maydell
On 11 February 2011 16:14, Peter Maydell wrote: > +void HELPER(neon_unzip)(CPUState *env, uint32_t insn) > +{ > +    int rd = ((insn >> 18) & 0x10) | ((insn >> 12) & 0x0f); > +    int rm = ((insn >> 1) & 0x10) | (insn & 0x0f); > +    int size = (insn >> 18) & 3; > +    if (insn & 0x40) { /* Q */ >

Re: [Qemu-devel] [PATCH 1/2] target-arm: Move Neon VUZP to a helper function

2011-02-11 Thread Nathan Froyd
On Fri, Feb 11, 2011 at 04:53:30PM +, Peter Maydell wrote: > On 11 February 2011 16:14, Peter Maydell wrote: > > +void HELPER(neon_unzip)(CPUState *env, uint32_t insn) > > +{ > > +    int rd = ((insn >> 18) & 0x10) | ((insn >> 12) & 0x0f); > > +    int rm = ((insn >> 1) & 0x10) | (insn & 0x0f)

[Qemu-devel] [PATCH 1/2] target-arm: Move Neon VUZP to a helper function

2011-02-11 Thread Peter Maydell
From: Juha Riihimäki Move the implementation of the Neon VUZP unzip instruction from inline code to a helper function. (At 50+ TCG ops it was well over the ecommended limit for coding inline.) The helper implementation also fixes the handling of the quadword version of the instruction. Signed-of

Re: [Qemu-devel] [PATCH 1/2] target-arm: Move Neon VUZP to a helper function

2011-02-11 Thread Peter Maydell
On 11 February 2011 17:03, Nathan Froyd wrote: > On Fri, Feb 11, 2011 at 04:53:30PM +, Peter Maydell wrote: >> On 11 February 2011 16:14, Peter Maydell wrote: >> > +void HELPER(neon_unzip)(CPUState *env, uint32_t insn) >> > +{ >> > +    int rd = ((insn >> 18) & 0x10) | ((insn >> 12) & 0x0f);

Re: [Qemu-devel] [PATCH 1/2] target-arm: Move Neon VUZP to a helper function

2011-02-11 Thread Nathan Froyd
On Fri, Feb 11, 2011 at 05:12:32PM +, Peter Maydell wrote: > On 11 February 2011 17:03, Nathan Froyd wrote: > > I do think the preferred way would be to extract rd, rm, size, and Q > > up-front, rather than having the helper twiddle instruction bits. > > OK. You're happy to still have the hel