[Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-06 Thread Aurelien Jarno
SMMLA and SMMLS are broken on both in normal and thumb mode, that is both (different) implementations are wrong. They try to avoid a 64-bit add for the rounding, which is not trivial if you want to support both SMMLA and SMMLS with the same code. The code below uses the same implementation for bot

Re: [Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-06 Thread Peter Maydell
On 6 January 2011 17:24, Aurelien Jarno wrote: > For the subtraction, how would you say a = (b << 32) - a ? I think we should just say "Return (b << 32) - a" for that :-) I can't think of a clean way of putting it in English. -- PMM

Re: [Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-06 Thread Aurelien Jarno
On Thu, Jan 06, 2011 at 03:54:46PM +, Peter Maydell wrote: > On 6 January 2011 15:50, Aurelien Jarno wrote: > > On Wed, Jan 05, 2011 at 11:15:15AM +, Peter Maydell wrote: > > >> Isn't this adding b to the msw of a, rather than the other > >> way round as the comment claims? > > > > I thin

Re: [Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-06 Thread Peter Maydell
On 6 January 2011 15:50, Aurelien Jarno wrote: > On Wed, Jan 05, 2011 at 11:15:15AM +, Peter Maydell wrote: >> Isn't this adding b to the msw of a, rather than the other >> way round as the comment claims? > > I think the comment is actually wrong in both way, as a shift is > applied, and thu

Re: [Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-06 Thread Aurelien Jarno
On Wed, Jan 05, 2011 at 11:15:15AM +, Peter Maydell wrote: > On 1 January 2011 18:25, Aurelien Jarno wrote: > > SMMLA and SMMLS are broken on both in normal and thumb mode, that is > > both (different) implementations are wrong. They try to avoid a 64-bit > > add for the rounding, which is not

Re: [Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-05 Thread Peter Maydell
On 1 January 2011 18:25, Aurelien Jarno wrote: > SMMLA and SMMLS are broken on both in normal and thumb mode, that is > both (different) implementations are wrong. They try to avoid a 64-bit > add for the rounding, which is not trivial if you want to support both > SMMLA and SMMLS with the same co

[Qemu-devel] [PATCH] target-arm: fix SMMLA/SMMLS instructions

2011-01-01 Thread Aurelien Jarno
SMMLA and SMMLS are broken on both in normal and thumb mode, that is both (different) implementations are wrong. They try to avoid a 64-bit add for the rounding, which is not trivial if you want to support both SMMLA and SMMLS with the same code. The code below uses the same implementation for bot