func XorBytes(dst, a, b []byte) int {
	n := len(a)
	if len(b) < n {
		n = len(b)
	}
	if n == 0 {
		return 0
	}
	switch {
	case supportsUnaligned:
		fastXORBytes(dst, a, b, n)
	default:
		safeXORBytes(dst, a, b, n)
	}
	return n
}
xorBytes xors the bytes in a and b. The destination should have enough
space, otherwise xorBytes will panic. Returns the number of bytes xor'd.
package xor
import (
	"runtime"
	"unsafe"
)