On Wed, Apr 16, 2014 at 1:27 AM, Peter Maydell wrote:
> On 4 April 2014 03:19, Peter Crosthwaite wrote:
>> The smlald (and probably smlsld) instruction was doing incorrect sign
>> extensions of the operands amongst 64bit result calculation. The
>> instruction psuedo-code is:
>>
>> operand2 = if
On 4 April 2014 03:19, Peter Crosthwaite wrote:
> The smlald (and probably smlsld) instruction was doing incorrect sign
> extensions of the operands amongst 64bit result calculation. The
> instruction psuedo-code is:
>
> operand2 = if m_swap then ROR(R[m],16) else R[m];
> product1 = SInt(R[n]<15
The smlald (and probably smlsld) instruction was doing incorrect sign
extensions of the operands amongst 64bit result calculation. The
instruction psuedo-code is:
operand2 = if m_swap then ROR(R[m],16) else R[m];
product1 = SInt(R[n]<15:0>) * SInt(operand2<15:0>);
product2 = SInt(R[n]<31:16>) *