AVX_ALL-Logical-YMM#
_mm256_and_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256d
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
__m256d _mm256_and_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in “a” and “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 3
i := j*64
dst[i+63:i] := (a[i+63:i] AND b[i+63:i])
ENDFOR
dst[MAX:256] := 0
_mm256_and_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
__m256 _mm256_and_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in “a” and “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 7
i := j*32
dst[i+31:i] := (a[i+31:i] AND b[i+31:i])
ENDFOR
dst[MAX:256] := 0
_mm256_andnot_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256d
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
__m256d _mm256_andnot_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in “a” and then AND with “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 3
i := j*64
dst[i+63:i] := ((NOT a[i+63:i]) AND b[i+63:i])
ENDFOR
dst[MAX:256] := 0
_mm256_andnot_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
__m256 _mm256_andnot_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in “a” and then AND with “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 7
i := j*32
dst[i+31:i] := ((NOT a[i+31:i]) AND b[i+31:i])
ENDFOR
dst[MAX:256] := 0
_mm256_or_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256d
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
__m256d _mm256_or_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in “a” and “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 3
i := j*64
dst[i+63:i] := a[i+63:i] OR b[i+63:i]
ENDFOR
dst[MAX:256] := 0
_mm256_or_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
__m256 _mm256_or_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in “a” and “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 7
i := j*32
dst[i+31:i] := a[i+31:i] OR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
_mm256_xor_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256d
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
__m256d _mm256_xor_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in “a” and “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 3
i := j*64
dst[i+63:i] := a[i+63:i] XOR b[i+63:i]
ENDFOR
dst[MAX:256] := 0
_mm256_xor_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
__m256 _mm256_xor_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in “a” and “b”, and store the results in “dst”.
Intel Implementation Psudeo-Code
FOR j := 0 to 7
i := j*32
dst[i+31:i] := a[i+31:i] XOR b[i+31:i]
ENDFOR
dst[MAX:256] := 0
_mm256_testz_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
int _mm256_testz_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise AND of 256 bits (representing integer data) in “a” and “b”, and set “ZF” to 1 if the result is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, and set “CF” to 1 if the result is zero, otherwise set “CF” to 0. Return the “ZF” value.
Intel Implementation Psudeo-Code
IF ((a[255:0] AND b[255:0]) == 0)
ZF := 1
ELSE
ZF := 0
FI
IF (((NOT a[255:0]) AND b[255:0]) == 0)
CF := 1
ELSE
CF := 0
FI
RETURN ZF
_mm256_testc_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
int _mm256_testc_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise AND of 256 bits (representing integer data) in “a” and “b”, and set “ZF” to 1 if the result is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, and set “CF” to 1 if the result is zero, otherwise set “CF” to 0. Return the “CF” value.
Intel Implementation Psudeo-Code
IF ((a[255:0] AND b[255:0]) == 0)
ZF := 1
ELSE
ZF := 0
FI
IF (((NOT a[255:0]) AND b[255:0]) == 0)
CF := 1
ELSE
CF := 0
FI
RETURN CF
_mm256_testnzc_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
int _mm256_testnzc_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise AND of 256 bits (representing integer data) in “a” and “b”, and set “ZF” to 1 if the result is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, and set “CF” to 1 if the result is zero, otherwise set “CF” to 0. Return 1 if both the “ZF” and “CF” values are zero, otherwise return 0.
Intel Implementation Psudeo-Code
IF ((a[255:0] AND b[255:0]) == 0)
ZF := 1
ELSE
ZF := 0
FI
IF (((NOT a[255:0]) AND b[255:0]) == 0)
CF := 1
ELSE
CF := 0
FI
IF (ZF == 0 && CF == 0)
dst := 1
ELSE
dst := 0
FI
_mm256_testz_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
int _mm256_testz_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise AND of 256 bits (representing double-precision (64-bit) floating-point elements) in “a” and “b”, producing an intermediate 256-bit value, and set “ZF” to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, producing an intermediate value, and set “CF” to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set “CF” to 0. Return the “ZF” value.
Intel Implementation Psudeo-Code
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[63] == 0 && tmp[127] == 0 && tmp[191] == 0 && tmp[255] == 0)
ZF := 1
ELSE
ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[63] == 0 && tmp[127] == 0 && tmp[191] == 0 && tmp[255] == 0)
CF := 1
ELSE
CF := 0
FI
dst := ZF
_mm256_testc_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
int _mm256_testc_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise AND of 256 bits (representing double-precision (64-bit) floating-point elements) in “a” and “b”, producing an intermediate 256-bit value, and set “ZF” to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, producing an intermediate value, and set “CF” to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set “CF” to 0. Return the “CF” value.
Intel Implementation Psudeo-Code
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[63] == 0 && tmp[127] == 0 && tmp[191] == 0 && tmp[255] == 0)
ZF := 1
ELSE
ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[63] == 0 && tmp[127] == 0 && tmp[191] == 0 && tmp[255] == 0)
CF := 1
ELSE
CF := 0
FI
dst := CF
_mm256_testnzc_pd#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256d a, __m256d b
- Param ETypes:
FP64 a, FP64 b
int _mm256_testnzc_pd(__m256d a, __m256d b);
Intel Description
Compute the bitwise AND of 256 bits (representing double-precision (64-bit) floating-point elements) in “a” and “b”, producing an intermediate 256-bit value, and set “ZF” to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, producing an intermediate value, and set “CF” to 1 if the sign bit of each 64-bit element in the intermediate value is zero, otherwise set “CF” to 0. Return 1 if both the “ZF” and “CF” values are zero, otherwise return 0.
Intel Implementation Psudeo-Code
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[63] == 0 && tmp[127] == 0 && tmp[191] == 0 && tmp[255] == 0)
ZF := 1
ELSE
ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[63] == 0 && tmp[127] == 0 && tmp[191] == 0 && tmp[255] == 0)
CF := 1
ELSE
CF := 0
FI
IF (ZF == 0 && CF == 0)
dst := 1
ELSE
dst := 0
FI
_mm256_testz_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
int _mm256_testz_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise AND of 256 bits (representing single-precision (32-bit) floating-point elements) in “a” and “b”, producing an intermediate 256-bit value, and set “ZF” to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, producing an intermediate value, and set “CF” to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set “CF” to 0. Return the “ZF” value.
Intel Implementation Psudeo-Code
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[31] == 0 && tmp[63] == 0 && tmp[95] == 0 && tmp[127] == 0 && \
tmp[159] == 0 && tmp[191] == 0 && tmp[223] == 0 && tmp[255] == 0)
ZF := 1
ELSE
ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[31] == 0 && tmp[63] == 0 && tmp[95] == 0 && tmp[127] == 0 && \
tmp[159] == 0 && tmp[191] == 0 && tmp[223] == 0 && tmp[255] == 0)
CF := 1
ELSE
CF := 0
FI
dst := ZF
_mm256_testc_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
int _mm256_testc_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise AND of 256 bits (representing single-precision (32-bit) floating-point elements) in “a” and “b”, producing an intermediate 256-bit value, and set “ZF” to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, producing an intermediate value, and set “CF” to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set “CF” to 0. Return the “CF” value.
Intel Implementation Psudeo-Code
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[31] == 0 && tmp[63] == 0 && tmp[95] == 0 && tmp[127] == 0 && \
tmp[159] == 0 && tmp[191] == 0 && tmp[223] == 0 && tmp[255] == 0)
ZF := 1
ELSE
ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[31] == 0 && tmp[63] == 0 && tmp[95] == 0 && tmp[127] == 0 && \
tmp[159] == 0 && tmp[191] == 0 && tmp[223] == 0 && tmp[255] == 0)
CF := 1
ELSE
CF := 0
FI
dst := CF
_mm256_testnzc_ps#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
int
- Param Types:
__m256 a, __m256 b
- Param ETypes:
FP32 a, FP32 b
int _mm256_testnzc_ps(__m256 a, __m256 b);
Intel Description
Compute the bitwise AND of 256 bits (representing single-precision (32-bit) floating-point elements) in “a” and “b”, producing an intermediate 256-bit value, and set “ZF” to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set “ZF” to 0. Compute the bitwise NOT of “a” and then AND with “b”, producing an intermediate value, and set “CF” to 1 if the sign bit of each 32-bit element in the intermediate value is zero, otherwise set “CF” to 0. Return 1 if both the “ZF” and “CF” values are zero, otherwise return 0.
Intel Implementation Psudeo-Code
tmp[255:0] := a[255:0] AND b[255:0]
IF (tmp[31] == 0 && tmp[63] == 0 && tmp[95] == 0 && tmp[127] == 0 && \
tmp[159] == 0 && tmp[191] == 0 && tmp[223] == 0 && tmp[255] == 0)
ZF := 1
ELSE
ZF := 0
FI
tmp[255:0] := (NOT a[255:0]) AND b[255:0]
IF (tmp[31] == 0 && tmp[63] == 0 && tmp[95] == 0 && tmp[127] == 0 && \
tmp[159] == 0 && tmp[191] == 0 && tmp[223] == 0 && tmp[255] == 0)
CF := 1
ELSE
CF := 0
FI
IF (ZF == 0 && CF == 0)
dst := 1
ELSE
dst := 0
FI
_mm256_and_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256i
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
__m256i _mm256_and_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise AND of 256 bits (representing integer data) in “a” and “b”, and store the result in “dst”.
Intel Implementation Psudeo-Code
dst[255:0] := (a[255:0] AND b[255:0])
dst[MAX:256] := 0
_mm256_andnot_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256i
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
__m256i _mm256_andnot_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise NOT of 256 bits (representing integer data) in “a” and then AND with “b”, and store the result in “dst”.
Intel Implementation Psudeo-Code
dst[255:0] := ((NOT a[255:0]) AND b[255:0])
dst[MAX:256] := 0
_mm256_or_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256i
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
__m256i _mm256_or_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise OR of 256 bits (representing integer data) in “a” and “b”, and store the result in “dst”.
Intel Implementation Psudeo-Code
dst[255:0] := (a[255:0] OR b[255:0])
dst[MAX:256] := 0
_mm256_xor_si256#
- Tech:
AVX_ALL
- Category:
Logical
- Header:
immintrin.h
- Searchable:
AVX_ALL-Logical-YMM
- Register:
YMM 256 bit
- Return Type:
__m256i
- Param Types:
__m256i a, __m256i b
- Param ETypes:
M256 a, M256 b
__m256i _mm256_xor_si256(__m256i a, __m256i b);
Intel Description
Compute the bitwise XOR of 256 bits (representing integer data) in “a” and “b”, and store the result in “dst”.
Intel Implementation Psudeo-Code
dst[255:0] := (a[255:0] XOR b[255:0])
dst[MAX:256] := 0