2018-12-18 22:57:26 -08:00
|
|
|
// Code generated by command: go run asm.go -out fnv1a.s -stubs stub.go. DO NOT EDIT.
|
2018-12-13 00:18:44 -08:00
|
|
|
|
2019-01-06 20:04:51 -08:00
|
|
|
#include "textflag.h"
|
|
|
|
|
|
2018-12-13 00:18:44 -08:00
|
|
|
// func Hash64(data []byte) uint64
|
2021-04-18 18:37:56 -07:00
|
|
|
TEXT ·Hash64(SB), NOSPLIT, $8-32
|
2019-01-13 11:59:14 -08:00
|
|
|
MOVQ data_base+0(FP), CX
|
2019-01-10 21:21:41 -08:00
|
|
|
MOVQ data_len+8(FP), BX
|
|
|
|
|
MOVQ $0xcbf29ce484222325, AX
|
|
|
|
|
MOVQ $0x00000100000001b3, BP
|
|
|
|
|
|
2018-12-13 00:18:44 -08:00
|
|
|
loop:
|
2019-01-10 21:21:41 -08:00
|
|
|
CMPQ BX, $0x00
|
|
|
|
|
JE done
|
|
|
|
|
MOVBQZX (CX), DX
|
|
|
|
|
XORQ DX, AX
|
|
|
|
|
MULQ BP
|
|
|
|
|
INCQ CX
|
|
|
|
|
DECQ BX
|
|
|
|
|
JMP loop
|
|
|
|
|
|
2018-12-13 00:18:44 -08:00
|
|
|
done:
|
2019-01-10 21:21:41 -08:00
|
|
|
MOVQ AX, ret+24(FP)
|
2018-12-18 21:05:05 -08:00
|
|
|
RET
|