MMX-Arithmetic-MMX#

_m_paddb#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_paddb(__m64 a, __m64 b);

Intel Description

Add packed 8-bit integers in “a” and “b”, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        dst[i+7:i] := a[i+7:i] + b[i+7:i]
ENDFOR

_m_paddw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_paddw(__m64 a, __m64 b);

Intel Description

Add packed 16-bit integers in “a” and “b”, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        dst[i+15:i] := a[i+15:i] + b[i+15:i]
ENDFOR

_m_paddd#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_paddd(__m64 a, __m64 b);

Intel Description

Add packed 32-bit integers in “a” and “b”, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*32
        dst[i+31:i] := a[i+31:i] + b[i+31:i]
ENDFOR

_m_paddsb#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI64 a, SI64 b

__m64 _m_paddsb(__m64 a, __m64 b);

Intel Description

Add packed signed 8-bit integers in “a” and “b” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        dst[i+7:i] := Saturate8( a[i+7:i] + b[i+7:i] )
ENDFOR

_m_paddsw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI64 a, SI64 b

__m64 _m_paddsw(__m64 a, __m64 b);

Intel Description

Add packed signed 16-bit integers in “a” and “b” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        dst[i+15:i] := Saturate16( a[i+15:i] + b[i+15:i] )
ENDFOR

_m_paddusb#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_paddusb(__m64 a, __m64 b);

Intel Description

Add packed unsigned 8-bit integers in “a” and “b” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        dst[i+7:i] := SaturateU8( a[i+7:i] + b[i+7:i] )
ENDFOR

_m_paddusw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_paddusw(__m64 a, __m64 b);

Intel Description

Add packed unsigned 16-bit integers in “a” and “b” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        dst[i+15:i] := SaturateU16( a[i+15:i] + b[i+15:i] )
ENDFOR

_m_psubb#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_psubb(__m64 a, __m64 b);

Intel Description

Subtract packed 8-bit integers in “b” from packed 8-bit integers in “a”, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        dst[i+7:i] := a[i+7:i] - b[i+7:i]
ENDFOR

_m_psubw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_psubw(__m64 a, __m64 b);

Intel Description

Subtract packed 16-bit integers in “b” from packed 16-bit integers in “a”, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        dst[i+15:i] := a[i+15:i] - b[i+15:i]
ENDFOR

_m_psubd#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_psubd(__m64 a, __m64 b);

Intel Description

Subtract packed 32-bit integers in “b” from packed 32-bit integers in “a”, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*32
        dst[i+31:i] := a[i+31:i] - b[i+31:i]
ENDFOR

_m_psubsb#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI64 a, SI64 b

__m64 _m_psubsb(__m64 a, __m64 b);

Intel Description

Subtract packed signed 8-bit integers in “b” from packed 8-bit integers in “a” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        dst[i+7:i] := Saturate8(a[i+7:i] - b[i+7:i])
ENDFOR

_m_psubsw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI64 a, SI64 b

__m64 _m_psubsw(__m64 a, __m64 b);

Intel Description

Subtract packed signed 16-bit integers in “b” from packed 16-bit integers in “a” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        dst[i+15:i] := Saturate16(a[i+15:i] - b[i+15:i])
ENDFOR

_m_psubusb#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_psubusb(__m64 a, __m64 b);

Intel Description

Subtract packed unsigned 8-bit integers in “b” from packed unsigned 8-bit integers in “a” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        dst[i+7:i] := SaturateU8(a[i+7:i] - b[i+7:i])
ENDFOR

_m_psubusw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_psubusw(__m64 a, __m64 b);

Intel Description

Subtract packed unsigned 16-bit integers in “b” from packed unsigned 16-bit integers in “a” using saturation, and store the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        dst[i+15:i] := SaturateU16(a[i+15:i] - b[i+15:i])
ENDFOR

_m_pmaddwd#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI64 a, SI64 b

__m64 _m_pmaddwd(__m64 a, __m64 b);

Intel Description

Multiply packed signed 16-bit integers in “a” and “b”, producing intermediate signed 32-bit integers. Horizontally add adjacent pairs of intermediate 32-bit integers, and pack the results in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*32
        dst[i+31:i] := SignExtend32(a[i+31:i+16]*b[i+31:i+16]) + SignExtend32(a[i+15:i]*b[i+15:i])
ENDFOR

_m_pmulhw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

SI64 a, SI64 b

__m64 _m_pmulhw(__m64 a, __m64 b);

Intel Description

Multiply the packed signed 16-bit integers in “a” and “b”, producing intermediate 32-bit integers, and store the high 16 bits of the intermediate integers in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        tmp[31:0] := SignExtend32(a[i+15:i]) * SignExtend32(b[i+15:i])
        dst[i+15:i] := tmp[31:16]
ENDFOR

_m_pmullw#

Tech:

MMX

Category:

Arithmetic

Header:

mmintrin.h

Searchable:

MMX-Arithmetic-MMX

Register:

MMX 64 bit

Return Type:

__m64

Param Types:

__m64 a, __m64 b

Param ETypes:

UI64 a, UI64 b

__m64 _m_pmullw(__m64 a, __m64 b);

Intel Description

Multiply the packed 16-bit integers in “a” and “b”, producing intermediate 32-bit integers, and store the low 16 bits of the intermediate integers in “dst”.

Deprecated since version X87: MMX technology intrinsics can cause issues on modern processors and should generally be avoided. Use SSE2, AVX, or later instruction sets instead, especially when targeting modern processors.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        tmp[31:0] := a[i+15:i] * b[i+15:i]
        dst[i+15:i] := tmp[15:0]
ENDFOR