package sm4

// TODO: implemt the 3 funcs in asm_*.s

//should implement in asm, add go:noescape
// xk 轮密钥，指向32个uint32， dst,src分别指向一个分组。
// func encryptBlockAsm(xk *uint32, dst, src *byte) {
func encryptBlockAsm(xk []uint32, dst, src []byte) {
	encryptBlockGo(xk, dst, src)
}

//should implement in asm, add go:noescape
// func decryptBlockAsm(xk *uint32, dst, src *byte) {
func decryptBlockAsm(xk []uint32, dst, src []byte) {
	decryptBlockGo(xk, dst, src)
}

//should implement in asm, add go:noescape
// func expandKeyAsm(key *byte, enc *uint32, dec *uint32) {
func expandKeyAsm(key []byte, enc, dec []uint32) {
	expandKeyGo(key, enc, dec)
}
