On 29/04/20 10:56, David Laight wrote: >>>> + if (unlikely(((rip ^ orig_rip) >> 31) == 3) && !is_64_bit_mode(vcpu)) >> Isn't the more obvious: >> if (((rip ^ orig_rip) & 1ull << 32) ... >> equivalent? This one would not (it would also detect carry on high memory addresses, not just 0x7fffffff to 0x80000000)... > Actually not even being clever, how about: > if (orig_rip < (1ull << 32) && unlikely(rip >= (1ull << 32)) && ... ... but yes this one would be equivalent. Paolo