MOVQ ad+72(FP), adp
// Check for AVX2 support
- CMPB runtime·support_avx2(SB), $1
- JE chacha20Poly1305Open_AVX2
-
+ CMPB runtime·support_avx2(SB), $0
+ JE noavx2bmi2Open
+ CMPB runtime·support_bmi2(SB), $1 // for MULXQ
+ JE chacha20Poly1305Open_AVX2
+noavx2bmi2Open:
// Special optimization, for very short buffers
CMPQ inl, $128
JBE openSSE128 // About 16% faster
MOVQ ad+72(FP), adp
// Check for AVX2 support
- CMPB runtime·support_avx2(SB), $1
+ CMPB runtime·support_avx2(SB), $0
+ JE noavx2bmi2Seal
+ CMPB runtime·support_bmi2(SB), $1 // for MULXQ
JE chacha20Poly1305Seal_AVX2
-
+noavx2bmi2Seal:
// Special optimization, for very short buffers
CMPQ inl, $128
JBE sealSSE128 // About 15% faster