[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Support saturation with shift=0.
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] Support saturation with shift=0. |
Date: |
Thu, 20 Jan 2011 12:15:14 +0000 |
On 20 January 2011 12:06, Christophe Lyon <address@hidden> wrote:
> On 19.01.2011 17:51, Peter Maydell wrote:
>> On 19 January 2011 16:10, Christophe Lyon <address@hidden> wrote:
>>>
>>> This patch fixes corner-case saturations, when the target range is
>>> zero. It merely removes the guard against (sh == 0), and makes:
>>> __ssat(0x87654321, 1) return 0xffffffff and set the saturation flag
>>
>> did you mean __ssat(0x87654321, 0) here? (they give the same
>> result, of course, but it's the sh==0 case the patch is changing...)
>
> Well... the ARM ARM says that the position for saturation is in the
> range 1 to 32, so I think the assembler encodes 1 less than what the
> user actually wrote. Hence at user level we use '1', but '0' is encoded
> and then parsed by qemu. Am I wrong?
No, you're right, there's a "+1" in the SSAT decoding instructions
which I hadn't noticed.
-- PMM