Arithmetic Operations (Floating Point)

Microsoft Specific

The operations listed in the following table are followed by descriptions of each intrinsic.

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.

Arithmetic Operation Intrinsics

Intrinsic name

Corresponding instruction

Operation

R0 value

R1 value

_mm_add_sd

ADDSD

Adds

a0 [op] b0
a1

_mm_add_pd

ADDPD

Adds

a0 [op] b0
a1 [op] b1

_mm_div_sd

DIVSD

Divides

a0 [op] b0
a1

_mm_div_pd

DIVPD

Divides

a0 [op] b0
a1 [op] b1

_mm_max_sd

MAXSD

Computes maximum

a0 [op] b0
a1

_mm_max_pd

MAXPD

Computes maximum

a0 [op] b0
a1 [op] b1

_mm_min_sd

MINSD

Computes minimum

a0 [op] b0
a1

_mm_min_pd

MINPD

Computes minimum

a0 [op] b0
a1 [op] b1

_mm_mul_sd

MULSD

Multiplies

a0 [op] b0
a1

_mm_mul_pd

MULPD

Multiplies

a0 [op] b0
a1 [op] b1

_mm_sqrt_sd

SQRTSD

Computes square root

a0 [op] b0
a1

_mm_sqrt_pd

SQRTPD

Computes square root

a0 [op] b0
a1 [op] b1

_mm_sub_sd

SUBSD

Subtracts

a0 [op] b0
a1

_mm_sub_pd

SUBPD

Subtracts

a0 [op] b0
a1 [op] b1

For an explanation of the syntax used in code samples in this topic, see Floating-Point Intrinsics Using Streaming SIMD Extensions.

See Also

Concepts

Floating-Point Intrinsics Using Streaming SIMD Extensions 2 Instructions