Skip to content

gotypes: error with Store(xmm, ReturnIndex(0)) #145

Open
@rleiwang

Description

@rleiwang

I am trying to implement https://github.com/lemire/streamvbyte/blob/master/src/streamvbyte_x64_decode.c#L2.

However, Using Store(xmm, ReturnIndex(0)) resulted an error in go generate asm.go:85: component is not primitive exit status 1. Instead I changed to Store(xmm, ReturnIndex(0).Index(0)) to work around it.

I also manually changed to use AVX512, VMOVDQU8. The following is Go assembler code.

	// func Shuffle(mask []byte, data []byte) [4]uint32
	// Requires: AVX, SSE2, SSSE3
	TEXT ·Shuffle(SB), NOSPLIT, $0-64
		MOVQ    data_base+24(FP), AX
		VMOVDQU8 (AX), X0
		MOVQ    mask_base+0(FP), AX
		PSHUFB  (AX), X0
		VMOVDQU8 X0, ret_0+48(FP)
		RET

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions