Logical Operations (Floating-Point SSE2 Intrinsics)
Microsoft Specific
For an explanation of the syntax used in code samples in this topic, see Floating-Point Intrinsics Using Streaming SIMD Extensions.
SSE2 intrinsics use the __m128, __m128i, and __m128d data types, which are not supported on Itanium Processor Family (IPF) processors. Any SSE2 intrinsics that use the __m64 data type are not supported on x64 processors.
The emmintrin.h header file contains the declarations for the SSE2 instructions intrinsics.
__m128d _mm_andnot_pd (__m128d a, __m128d b);
ANDNPD
Computes the bitwise AND
of the 128-bit value in b
and the bitwise NOT
of the 128-bit value in a
.
r0 := (~a0) & b0
r1 := (~a1) & b1
__m128d _mm_and_pd (__m128d a, __m128d b);
ANDPD
Computes the bitwise AND
of the two double-precision, floating-point values of a
and b
.
r0 := a0 & b0
r1 := a1 & b1
__m128d _mm_or_pd (__m128d a, __m128d b);
ORPD
Computes the bitwise OR
of the two double-precision, floating-point values of a
and b
.
r0 := a0 | b0
r1 := a1 | b1
__m128d _mm_xor_pd (__m128d a, __m128d b);
XORPD
Computes the bitwise XOR
of the two double-precision, floating-point values of a
and b
.
r0 := a0 ^ b0
r1 := a1 ^ b1
END Microsoft Specific
See Also
Reference
Floating-Point Intrinsics Using Streaming SIMD Extensions 2 Instructions