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... >> + 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. > Maybe we should add ARITH_TEQ at some point? Given that it's the only one left out, sure. I can't imagine what context it would be useful within tcg though -- it's main use seems to be doing an equality comparison while preserving the C flag. r~