// Legacy SSE octa moves against static (SB) symbols: the load and store // shapes GOROOT's AES-CTR, AES-GCM and P-256 kernels spell (MOVOU // bswapMask<>+0(SB), X0 and the reverse), including offsets into the symbol // and the aligned MOVO pair. Every result is folded back so no instruction // is dead. #include "textflag.h" // func ssestatic() uint64 TEXT ·ssestatic(SB), NOSPLIT, $0-8 MOVOU bswapMask<>+0(SB), X0 MOVOU bswapMask<>+8(SB), X1 MOVO rodataMask<>+0(SB), X2 PXOR X1, X0 PXOR X2, X0 MOVOU X0, sink<>+0(SB) MOVOU sink<>+0(SB), X3 PXOR X3, X0 MOVQ X0, AX MOVQ AX, ret+0(FP) RET GLOBL bswapMask<>(SB), RODATA|NOPTR, $16 GLOBL rodataMask<>(SB), RODATA|NOPTR, $16 GLOBL sink<>(SB), NOPTR, $16