blob: c74b57c4c79751933c702686b0c8806d429edf81 [file]
!sum
- go: Average
commutative: "true"
extension: "AVX.*" # VPAVGB/W are available across various AVX versions
- go: MaskedAverage
commutative: "true"
masked: "true"
extension: "AVX512.*" # Masked operations are typically AVX512
- go: Absolute
commutative: "false"
# Unary operation, not commutative
extension: "AVX.*" # VPABSB/W/D are AVX, VPABSQ is AVX512
- go: MaskedAbsolute
commutative: "false"
masked: "true"
extension: "AVX512.*"
- go: Sign
# Applies sign of second operand to first: sign(val, sign_src)
commutative: "false"
extension: "AVX.*"
# Sign does not have masked version
- go: MaskedPopCount
commutative: "false"
masked: "true"
extension: "AVX512.*" # VPOPCNT instructions are AVX512 (BITALG or VPOPCNTDQ)