// Code generated by modernc.org/undup from the per-target vec_*.go files; DO NOT EDIT.

//go:build (darwin && amd64) || (darwin && arm64) || (openbsd && amd64) || (openbsd && arm64)

package vec

import (
	"modernc.org/libc"
)

type Tdev_t = int32

type Tregister_t = int64

func _distance_hamming_u64(tls *libc.TLS, a uintptr, b uintptr, n Tsize_t) (r Tf32) {
	var i uint64
	var same int32
	_, _ = i, same
	same = 0
	i = uint64(0)
	for {
		if !(i < n) {
			break
		}
		same = same + libc.X__builtin_popcountl(tls, uint64(**(**Tu64)(__ccgo_up(a + uintptr(i)*8))^**(**Tu64)(__ccgo_up(b + uintptr(i)*8))))
		goto _1
	_1:
		;
		i = i + 1
	}
	return float32(same)
}

const m___STDC_NO_THREADS__ = 1

type register_t = Tregister_t
