MMX-Shift-MMX#
_m_psllw#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_psllw(__m64 a, __m64 count);
Intel Description
Shift packed 16-bit integers in “a” left by “count” while shifting in zeros, 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
IF count[63:0] > 15
dst[i+15:i] := 0
ELSE
dst[i+15:i] := ZeroExtend16(a[i+15:i] << count[63:0])
FI
ENDFOR
_m_psllwi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
UI64 a, IMM imm8
__m64 _m_psllwi(__m64 a, int imm8);
Intel Description
Shift packed 16-bit integers in “a” left by “imm8” while shifting in zeros, 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
IF imm8[7:0] > 15
dst[i+15:i] := 0
ELSE
dst[i+15:i] := ZeroExtend16(a[i+15:i] << imm8[7:0])
FI
ENDFOR
_m_pslld#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_pslld(__m64 a, __m64 count);
Intel Description
Shift packed 32-bit integers in “a” left by “count” while shifting in zeros, 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
IF count[63:0] > 31
dst[i+31:i] := 0
ELSE
dst[i+31:i] := ZeroExtend32(a[i+31:i] << count[63:0])
FI
ENDFOR
_m_pslldi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
UI64 a, IMM imm8
__m64 _m_pslldi(__m64 a, int imm8);
Intel Description
Shift packed 32-bit integers in “a” left by “imm8” while shifting in zeros, 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
IF imm8[7:0] > 31
dst[i+31:i] := 0
ELSE
dst[i+31:i] := ZeroExtend32(a[i+31:i] << imm8[7:0])
FI
ENDFOR
_m_psllq#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_psllq(__m64 a, __m64 count);
Intel Description
Shift 64-bit integer “a” left by “count” while shifting in zeros, and store the result 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
IF count[63:0] > 63
dst[63:0] := 0
ELSE
dst[63:0] := ZeroExtend64(a[63:0] << count[63:0])
FI
_m_psllqi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
UI64 a, IMM imm8
__m64 _m_psllqi(__m64 a, int imm8);
Intel Description
Shift 64-bit integer “a” left by “imm8” while shifting in zeros, and store the result 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
IF imm8[7:0] > 63
dst[63:0] := 0
ELSE
dst[63:0] := ZeroExtend64(a[63:0] << imm8[7:0])
FI
_m_psraw#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_psraw(__m64 a, __m64 count);
Intel Description
Shift packed 16-bit integers in “a” right by “count” while shifting in sign bits, 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
IF count[63:0] > 15
dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
ELSE
dst[i+15:i] := SignExtend16(a[i+15:i] >> count[63:0])
FI
ENDFOR
_m_psrawi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
SI64 a, IMM imm8
__m64 _m_psrawi(__m64 a, int imm8);
Intel Description
Shift packed 16-bit integers in “a” right by “imm8” while shifting in sign bits, 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
IF imm8[7:0] > 15
dst[i+15:i] := (a[i+15] ? 0xFFFF : 0x0)
ELSE
dst[i+15:i] := SignExtend16(a[i+15:i] >> imm8[7:0])
FI
ENDFOR
_m_psrad#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
SI64 a, UI64 count
__m64 _m_psrad(__m64 a, __m64 count);
Intel Description
Shift packed 32-bit integers in “a” right by “count” while shifting in sign bits, 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
IF count[63:0] > 31
dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
ELSE
dst[i+31:i] := SignExtend32(a[i+31:i] >> count[63:0])
FI
ENDFOR
_m_psradi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
SI64 a, IMM imm8
__m64 _m_psradi(__m64 a, int imm8);
Intel Description
Shift packed 32-bit integers in “a” right by “imm8” while shifting in sign bits, 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
IF imm8[7:0] > 31
dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0x0)
ELSE
dst[i+31:i] := SignExtend32(a[i+31:i] >> imm8[7:0])
FI
ENDFOR
_m_psrlw#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_psrlw(__m64 a, __m64 count);
Intel Description
Shift packed 16-bit integers in “a” right by “count” while shifting in zeros, 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
IF count[63:0] > 15
dst[i+15:i] := 0
ELSE
dst[i+15:i] := ZeroExtend16(a[i+15:i] >> count[63:0])
FI
ENDFOR
_m_psrlwi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
UI64 a, IMM imm8
__m64 _m_psrlwi(__m64 a, int imm8);
Intel Description
Shift packed 16-bit integers in “a” right by “imm8” while shifting in zeros, 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
IF imm8[7:0] > 15
dst[i+15:i] := 0
ELSE
dst[i+15:i] := ZeroExtend16(a[i+15:i] >> imm8[7:0])
FI
ENDFOR
_m_psrld#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_psrld(__m64 a, __m64 count);
Intel Description
Shift packed 32-bit integers in “a” right by “count” while shifting in zeros, 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
IF count[63:0] > 31
dst[i+31:i] := 0
ELSE
dst[i+31:i] := ZeroExtend32(a[i+31:i] >> count[63:0])
FI
ENDFOR
_m_psrldi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
UI64 a, IMM imm8
__m64 _m_psrldi(__m64 a, int imm8);
Intel Description
Shift packed 32-bit integers in “a” right by “imm8” while shifting in zeros, 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
IF imm8[7:0] > 31
dst[i+31:i] := 0
ELSE
dst[i+31:i] := ZeroExtend32(a[i+31:i] >> imm8[7:0])
FI
ENDFOR
_m_psrlq#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, __m64 count
- Param ETypes:
UI64 a, UI64 count
__m64 _m_psrlq(__m64 a, __m64 count);
Intel Description
Shift 64-bit integer “a” right by “count” while shifting in zeros, and store the result 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
IF count[63:0] > 63
dst[63:0] := 0
ELSE
dst[63:0] := ZeroExtend64(a[63:0] >> count[63:0])
FI
_m_psrlqi#
- Tech:
MMX
- Category:
Shift
- Header:
mmintrin.h
- Searchable:
MMX-Shift-MMX
- Register:
MMX 64 bit
- Return Type:
__m64
- Param Types:
__m64 a, int imm8
- Param ETypes:
UI64 a, IMM imm8
__m64 _m_psrlqi(__m64 a, int imm8);
Intel Description
Shift 64-bit integer “a” right by “imm8” while shifting in zeros, and store the result 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
IF imm8[7:0] > 63
dst[63:0] := 0
ELSE
dst[63:0] := ZeroExtend64(a[63:0] >> imm8[7:0])
FI