summaryrefslogtreecommitdiff
path: root/vendor/github.com/dolthub/swiss/simd/match.s
blob: 4ae29e77b9abc43761857d12387687065c70d03d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Code generated by command: go run asm.go -out match.s -stubs match_amd64.go. DO NOT EDIT.

//go:build amd64

#include "textflag.h"

// func MatchMetadata(metadata *[16]int8, hash int8) uint16
// Requires: SSE2, SSSE3
TEXT ·MatchMetadata(SB), NOSPLIT, $0-18
	MOVQ     metadata+0(FP), AX
	MOVBLSX  hash+8(FP), CX
	MOVD     CX, X0
	PXOR     X1, X1
	PSHUFB   X1, X0
	MOVOU    (AX), X1
	PCMPEQB  X1, X0
	PMOVMSKB X0, AX
	MOVW     AX, ret+16(FP)
	RET