//                           _       _
// __      _____  __ ___   ___  __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
//  \ V  V /  __/ (_| |\ V /| | (_| | ||  __/
//   \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
//  Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
//  CONTACT: hello@weaviate.io
//

//go:build !noasm && amd64

// AUTO-GENERATED BY GOAT -- DO NOT EDIT

package asm

import "unsafe"

//go:noescape
func popcnt_AVX2_lookup_512(vec, low_mask_vec, lookup_vec unsafe.Pointer)

//go:noescape
func popcount(v_ptr, result, constants_avx512 unsafe.Pointer)

//go:noescape
func CSA(h, l, a_ptr, b_ptr, c_ptr unsafe.Pointer)

//go:noescape
func simd_sum_epu64_256(v_ptr unsafe.Pointer)

//go:noescape
func simd_sum_epu64_512(v_ptr unsafe.Pointer)

//go:noescape
func popcnt_AVX512_harleyseal(data, size_ptr, constants_avx512 unsafe.Pointer)

//go:noescape
func popcnt_64bit_512(src, popcnt_constants unsafe.Pointer)

//go:noescape
func hamming_bitwise_512(a, b, res, len, popcnt_constants unsafe.Pointer)
