Code:
a ^= b ^= a ^= b 

is the same as 

a ^= b 
b ^= a 
a ^= b 

which can be written as 

a = a xor b 
b = b xor a = b xor (a xor b) = a 
a = a xor b = (a xor b) xor a = b
would it be acceptible to use this in a bubble sort.?