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