Closed fwessels closed 6 months ago
The avo generated code seems to be loading one argument twice:
// func mulAvxTwo_1x1_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) // Requires: AVX, AVX2, SSE2 TEXT ·mulAvxTwo_1x1_64(SB), $0-88 // Loading all tables to registers // Destination kept in GP registers // Full registers estimated 10 YMM used MOVQ n+80(FP), AX MOVQ matrix_base+0(FP), CX SHRQ $0x06, AX TESTQ AX, AX JZ mulAvxTwo_1x1_64_end VMOVDQU (CX), Y0 VMOVDQU 32(CX), Y1 MOVQ in_base+24(FP), CX MOVQ (CX), CX MOVQ out_base+48(FP), DX MOVQ out_base+48(FP), DX // <----- MOVQ (DX), DX MOVQ start+72(FP), BX
The avo generated code seems to be loading one argument twice: