qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/3] tcg: Use "unspecified behaviour" for shifts


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 2/3] tcg: Use "unspecified behaviour" for shifts
Date: Tue, 18 Mar 2014 09:06:24 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

On 03/18/2014 09:02 AM, Peter Maydell wrote:
> On 18 March 2014 15:48, Richard Henderson <address@hidden> wrote:
>> Change the definition such that shifts are not allowed to crash
>> for any input.
>>
>> Signed-off-by: Richard Henderson <address@hidden>
>> ---
>>  tcg/README | 18 +++++++++++++-----
>>  1 file changed, 13 insertions(+), 5 deletions(-)
>>
>> diff --git a/tcg/README b/tcg/README
>> index f178212..431cee7 100644
>> --- a/tcg/README
>> +++ b/tcg/README
>> @@ -36,6 +36,12 @@ or a memory location which is stored in a register 
>> outside QEMU TBs
>>  A TCG "basic block" corresponds to a list of instructions terminated
>>  by a branch instruction.
>>
>> +An operation with "undefined behavior" may result in a crash.
>> +
>> +An operation with "unspecified behaviour" shall not crash.  However,
> 
> no 'u' would be consistent with the US spelling elsewhere.

Oops, by fingers have no consistency.

> Incidentally, are deposit ops with bogus pos and len
> undefined or unspecified behavior? (And is deposit of
> 64 bits to bit 0 allowed?)

Yes, deposit of 64 at 0 is allowed.

Since deposit parameters are immediate constants instead
of values in TCGv temporaries, we check them at opcode
creation in tcg-op.h.

Since we abort that's undefined, I guess.


r~




reply via email to

[Prev in Thread] Current Thread [Next in Thread]