On Thu, Mar 28, 2013 at 5:04 PM, Richard Henderson <r...@twiddle.net> wrote:
> On 03/28/2013 08:56 AM, Peter Maydell wrote:
>>> +#define TO_CPSR (1 << 20)
>>
>> This is the S bit; I think it would be helpful if our #define
>> had a name that made that clearer...
>
> Suggestions?  I thought "TO_CPSR" was clear...

SET_FLAGS?

>>> +    ARITH_TST = 0x8 << 21 | TO_CPSR,
>>> +    ARITH_CMP = 0xa << 21 | TO_CPSR,
>>> +    ARITH_CMN = 0xb << 21 | TO_CPSR,
>>> +    ARITH_ORR = 0xc << 21,
>>> +    ARITH_MOV = 0xd << 21,
>>> +    ARITH_BIC = 0xe << 21,
>>> +    ARITH_MVN = 0xf << 21,
>>>  };
>>
>> It feels a little ugly to OR in the S bit in this enum, but I guess
>> it works.
>
> I think it actually makes everything a lot cleaner myself.  Especially given
> the previous definition that required runtime checks for TST et al.

I also find this cleaner.  OTOH I understand that Peter finds it
odd given that other operations (such as ADD) can optionally
set flags.


Laurent

Reply via email to