// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package cipher

// 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.
func xorBytes(, ,  []byte) int {
	 := len()
	if len() <  {
		 = len()
	}
	if  == 0 {
		return 0
	}
	_ = [-1]
	xorBytesSSE2(&[0], &[0], &[0], ) // amd64 must have SSE2
	return 
}

func xorWords(, ,  []byte) {
	xorBytes(, , )
}

//go:noescape
func xorBytesSSE2(, ,  *byte,  int)