xor destroys flags ._.