Re: [Qemu-devel] [PATCH 0/7] Define deposit tcg operation, v2

2011-01-20 Thread Edgar E. Iglesias
On Mon, Jan 10, 2011 at 07:23:41PM -0800, Richard Henderson wrote: Changes since v1: * No attempt to pack pos+len into one operand. Updated backends to match this change. * Example in the README is a bit more complex. * Define an official tcg_scratch_alloc routine, used by the

Re: [Qemu-devel] [PATCH 0/7] Define deposit tcg operation, v2

2011-01-11 Thread Aurelien Jarno
On Mon, Jan 10, 2011 at 07:23:41PM -0800, Richard Henderson wrote: Changes since v1: * No attempt to pack pos+len into one operand. Updated backends to match this change. * Example in the README is a bit more complex. * Define an official tcg_scratch_alloc routine, used by the

[Qemu-devel] [PATCH 0/7] Define deposit tcg operation, v2

2011-01-10 Thread Richard Henderson
Changes since v1: * No attempt to pack pos+len into one operand. Updated backends to match this change. * Example in the README is a bit more complex. * Define an official tcg_scratch_alloc routine, used by the i386 target for the case in which we need a scratch register. I had

[Qemu-devel] [PATCH 0/7] Define deposit tcg operation

2011-01-07 Thread Richard Henderson
Emulating i386 -- particularly in 16-bit mode -- requires quite a few bitfield insert operations, to handle byte and word stores into the dword registers. On several hosts, this can be done natively, without resorting to a sequence of and and or instructions. Even i386 as a host can do better

Re: [Qemu-devel] [PATCH 0/7] Define deposit tcg operation

2011-01-07 Thread Peter Maydell
On 7 January 2011 22:42, Richard Henderson r...@twiddle.net wrote: Emulating i386 -- particularly in 16-bit mode -- requires quite a few bitfield insert operations, to handle byte and word stores into the dword registers.  On several hosts, this can be done natively, without resorting to a

Re: [Qemu-devel] [PATCH 0/7] Define deposit tcg operation

2011-01-07 Thread Richard Henderson
On 01/07/2011 03:10 PM, Peter Maydell wrote: Unless I've missed something, deposit_i32 is basically the same as the ARM BFI instruction, so for ARM we could use deposit_i32 in the implementation of BFI (and conversely implement deposit_i32 using BFI when we're generating for an ARMv6T2 or