SSE_ALL-Convert-XMM#

_mm_cvtsi32_ss#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128 a, int b

Param ETypes:

FP32 a, SI32 b

__m128 _mm_cvtsi32_ss(__m128 a, int b);

Intel Description

Convert the signed 32-bit integer “b” to a single-precision (32-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper 3 packed elements from “a” to the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]

_mm_cvt_si2ss#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128 a, int b

Param ETypes:

FP32 a, SI32 b

__m128 _mm_cvt_si2ss(__m128 a, int b);

Intel Description

Convert the signed 32-bit integer “b” to a single-precision (32-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper 3 packed elements from “a” to the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[127:32] := a[127:32]

_mm_cvtsi64_ss#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128 a, __int64 b

Param ETypes:

FP32 a, SI64 b

__m128 _mm_cvtsi64_ss(__m128 a, __int64 b);

Intel Description

Convert the signed 64-bit integer “b” to a single-precision (32-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper 3 packed elements from “a” to the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_Int64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0

_mm_cvtpi32_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128 a, __m64 b

Param ETypes:

FP32 a, SI32 b

__m128 _mm_cvtpi32_ps(__m128 a, __m64 b);

Intel Description

Convert packed 32-bit integers in “b” to packed single-precision (32-bit) floating-point elements, store the results in the lower 2 elements of “dst”, and copy the upper 2 packed elements from “a” to the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[63:32] := Convert_Int32_To_FP32(b[63:32])
dst[95:64] := a[95:64]
dst[127:96] := a[127:96]

_mm_cvt_pi2ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128 a, __m64 b

Param ETypes:

FP32 a, SI32 b

__m128 _mm_cvt_pi2ps(__m128 a, __m64 b);

Intel Description

Convert packed signed 32-bit integers in “b” to packed single-precision (32-bit) floating-point elements, store the results in the lower 2 elements of “dst”, and copy the upper 2 packed elements from “a” to the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_Int32_To_FP32(b[31:0])
dst[63:32] := Convert_Int32_To_FP32(b[63:32])
dst[95:64] := a[95:64]
dst[127:96] := a[127:96]

_mm_cvtpi16_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m64 a

Param ETypes:

SI16 a

__m128 _mm_cvtpi16_ps(__m64 a);

Intel Description

Convert packed 16-bit integers in “a” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        m := j*32
        dst[m+31:m] := Convert_Int16_To_FP32(a[i+15:i])
ENDFOR

_mm_cvtpu16_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m64 a

Param ETypes:

UI16 a

__m128 _mm_cvtpu16_ps(__m64 a);

Intel Description

Convert packed unsigned 16-bit integers in “a” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*16
        m := j*32
        dst[m+31:m] := Convert_Int16_To_FP32(a[i+15:i])
ENDFOR

_mm_cvtpi8_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m64 a

Param ETypes:

SI8 a

__m128 _mm_cvtpi8_ps(__m64 a);

Intel Description

Convert the lower packed 8-bit integers in “a” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*8
        m := j*32
        dst[m+31:m] := Convert_Int8_To_FP32(a[i+7:i])
ENDFOR

_mm_cvtpu8_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m64 a

Param ETypes:

UI8 a

__m128 _mm_cvtpu8_ps(__m64 a);

Intel Description

Convert the lower packed unsigned 8-bit integers in “a” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*8
        m := j*32
        dst[m+31:m] := Convert_Int8_To_FP32(a[i+7:i])
ENDFOR

_mm_cvtpi32x2_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m64 a, __m64 b

Param ETypes:

SI32 a, SI32 b

__m128 _mm_cvtpi32x2_ps(__m64 a, __m64 b);

Intel Description

Convert packed signed 32-bit integers in “a” to packed single-precision (32-bit) floating-point elements, store the results in the lower 2 elements of “dst”, then covert the packed signed 32-bit integers in “b” to single-precision (32-bit) floating-point element, and store the results in the upper 2 elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_Int32_To_FP32(a[31:0])
dst[63:32] := Convert_Int32_To_FP32(a[63:32])
dst[95:64] := Convert_Int32_To_FP32(b[31:0])
dst[127:96] := Convert_Int32_To_FP32(b[63:32])

_mm_cvtss_si32#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128 a

Param ETypes:

FP32 a

int _mm_cvtss_si32(__m128 a);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “a” to a 32-bit integer, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP32_To_Int32(a[31:0])

_mm_cvt_ss2si#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128 a

Param ETypes:

FP32 a

int _mm_cvt_ss2si(__m128 a);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “a” to a 32-bit integer, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP32_To_Int32(a[31:0])

_mm_cvtss_si64#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128 a

Param ETypes:

FP32 a

__int64 _mm_cvtss_si64(__m128 a);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “a” to a 64-bit integer, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP32_To_Int64(a[31:0])

_mm_cvtss_f32#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

float

Param Types:

__m128 a

Param ETypes:

FP32 a

float _mm_cvtss_f32(__m128 a);

Intel Description

Copy the lower single-precision (32-bit) floating-point element of “a” to “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := a[31:0]

_mm_cvtps_pi32#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128 a

Param ETypes:

FP32 a

__m64 _mm_cvtps_pi32(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

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

_mm_cvt_ps2pi#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128 a

Param ETypes:

FP32 a

__m64 _mm_cvt_ps2pi(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

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

_mm_cvttss_si32#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128 a

Param ETypes:

FP32 a

int _mm_cvttss_si32(__m128 a);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “a” to a 32-bit integer with truncation, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])

_mm_cvtt_ss2si#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128 a

Param ETypes:

FP32 a

int _mm_cvtt_ss2si(__m128 a);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “a” to a 32-bit integer with truncation, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP32_To_Int32_Truncate(a[31:0])

_mm_cvttss_si64#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128 a

Param ETypes:

FP32 a

__int64 _mm_cvttss_si64(__m128 a);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “a” to a 64-bit integer with truncation, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP32_To_Int64_Truncate(a[31:0])

_mm_cvttps_pi32#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128 a

Param ETypes:

FP32 a

__m64 _mm_cvttps_pi32(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 32-bit integers with truncation, and store the results in “dst”.

Intel Implementation Psudeo-Code

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

_mm_cvtt_ps2pi#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128 a

Param ETypes:

FP32 a

__m64 _mm_cvtt_ps2pi(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 32-bit integers with truncation, and store the results in “dst”.

Intel Implementation Psudeo-Code

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

_mm_cvtps_pi16#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128 a

Param ETypes:

FP32 a

__m64 _mm_cvtps_pi16(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 16-bit integers, and store the results in “dst”. Note: this intrinsic will generate 0x7FFF, rather than 0x8000, for input values between 0x7FFF and 0x7FFFFFFF.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 16*j
        k := 32*j
        IF a[k+31:k] >= FP32(0x7FFF) && a[k+31:k] <= FP32(0x7FFFFFFF)
                dst[i+15:i] := 0x7FFF
        ELSE
                dst[i+15:i] := Convert_FP32_To_Int16(a[k+31:k])
        FI
ENDFOR

_mm_cvtps_pi8#

Tech:

SSE_ALL

Category:

Convert

Header:

xmmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128 a

Param ETypes:

FP32 a

__m64 _mm_cvtps_pi8(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 8-bit integers, and store the results in lower 4 elements of “dst”. Note: this intrinsic will generate 0x7F, rather than 0x80, for input values between 0x7F and 0x7FFFFFFF.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 8*j
        k := 32*j
        IF a[k+31:k] >= FP32(0x7F) && a[k+31:k] <= FP32(0x7FFFFFFF)
                dst[i+7:i] := 0x7F
        ELSE
                dst[i+7:i] := Convert_FP32_To_Int8(a[k+31:k])
        FI
ENDFOR

_mm_cvtepi32_pd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m128i a

Param ETypes:

SI32 a

__m128d _mm_cvtepi32_pd(__m128i a);

Intel Description

Convert packed signed 32-bit integers in “a” to packed double-precision (64-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*32
        m := j*64
        dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR

_mm_cvtsi32_sd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m128d a, int b

Param ETypes:

FP64 a, SI32 b

__m128d _mm_cvtsi32_sd(__m128d a, int b);

Intel Description

Convert the signed 32-bit integer “b” to a double-precision (64-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper element from “a” to the upper element of “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_Int32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0

_mm_cvtsi64_sd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m128d a, __int64 b

Param ETypes:

FP64 a, SI64 b

__m128d _mm_cvtsi64_sd(__m128d a, __int64 b);

Intel Description

Convert the signed 64-bit integer “b” to a double-precision (64-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper element from “a” to the upper element of “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0

_mm_cvtsi64x_sd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m128d a, __int64 b

Param ETypes:

FP64 a, SI64 b

__m128d _mm_cvtsi64x_sd(__m128d a, __int64 b);

Intel Description

Convert the signed 64-bit integer “b” to a double-precision (64-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper element from “a” to the upper element of “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_Int64_To_FP64(b[63:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0

_mm_cvtepi32_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128i a

Param ETypes:

SI32 a

__m128 _mm_cvtepi32_ps(__m128i a);

Intel Description

Convert packed signed 32-bit integers in “a” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 32*j
        dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR

_mm_cvtpi32_pd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m64 a

Param ETypes:

SI32 a

__m128d _mm_cvtpi32_pd(__m64 a);

Intel Description

Convert packed signed 32-bit integers in “a” to packed double-precision (64-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*32
        m := j*64
        dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR

_mm_cvtsi32_si128#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

int a

Param ETypes:

UI32 a

__m128i _mm_cvtsi32_si128(int a);

Intel Description

Copy 32-bit integer “a” to the lower elements of “dst”, and zero the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := a[31:0]
dst[127:32] := 0

_mm_cvtsi64_si128#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__int64 a

Param ETypes:

UI64 a

__m128i _mm_cvtsi64_si128(__int64 a);

Intel Description

Copy 64-bit integer “a” to the lower element of “dst”, and zero the upper element.

Intel Implementation Psudeo-Code

dst[63:0] := a[63:0]
dst[127:64] := 0

_mm_cvtsi64x_si128#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__int64 a

Param ETypes:

UI64 a

__m128i _mm_cvtsi64x_si128(__int64 a);

Intel Description

Copy 64-bit integer “a” to the lower element of “dst”, and zero the upper element.

Intel Implementation Psudeo-Code

dst[63:0] := a[63:0]
dst[127:64] := 0

_mm_cvtsi128_si32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128i a

Param ETypes:

UI32 a

int _mm_cvtsi128_si32(__m128i a);

Intel Description

Copy the lower 32-bit integer in “a” to “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := a[31:0]

_mm_cvtsi128_si64#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128i a

Param ETypes:

UI64 a

__int64 _mm_cvtsi128_si64(__m128i a);

Intel Description

Copy the lower 64-bit integer in “a” to “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := a[63:0]

_mm_cvtsi128_si64x#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128i a

Param ETypes:

UI64 a

__int64 _mm_cvtsi128_si64x(__m128i a);

Intel Description

Copy the lower 64-bit integer in “a” to “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := a[63:0]

_mm_cvtpd_ps#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128d a

Param ETypes:

FP64 a

__m128 _mm_cvtpd_ps(__m128d a);

Intel Description

Convert packed double-precision (64-bit) floating-point elements in “a” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_FP32(a[k+63:k])
ENDFOR
dst[127:64] := 0

_mm_cvtps_pd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m128 a

Param ETypes:

FP32 a

__m128d _mm_cvtps_pd(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed double-precision (64-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 32*j
        dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k])
ENDFOR

_mm_cvtpd_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128d a

Param ETypes:

FP64 a

__m128i _mm_cvtpd_epi32(__m128d a);

Intel Description

Convert packed double-precision (64-bit) floating-point elements in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR

_mm_cvtsd_si32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128d a

Param ETypes:

FP64 a

int _mm_cvtsd_si32(__m128d a);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “a” to a 32-bit integer, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP64_To_Int32(a[63:0])

_mm_cvtsd_si64#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128d a

Param ETypes:

FP64 a

__int64 _mm_cvtsd_si64(__m128d a);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “a” to a 64-bit integer, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP64_To_Int64(a[63:0])

_mm_cvtsd_si64x#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128d a

Param ETypes:

FP64 a

__int64 _mm_cvtsd_si64x(__m128d a);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “a” to a 64-bit integer, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP64_To_Int64(a[63:0])

_mm_cvtsd_ss#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128

Param Types:

__m128 a, __m128d b

Param ETypes:

FP32 a, FP64 b

__m128 _mm_cvtsd_ss(__m128 a, __m128d b);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “b” to a single-precision (32-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper 3 packed elements from “a” to the upper elements of “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP64_To_FP32(b[63:0])
dst[127:32] := a[127:32]
dst[MAX:128] := 0

_mm_cvtsd_f64#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

double

Param Types:

__m128d a

Param ETypes:

FP64 a

double _mm_cvtsd_f64(__m128d a);

Intel Description

Copy the lower double-precision (64-bit) floating-point element of “a” to “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := a[63:0]

_mm_cvtss_sd#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128d

Param Types:

__m128d a, __m128 b

Param ETypes:

FP64 a, FP32 b

__m128d _mm_cvtss_sd(__m128d a, __m128 b);

Intel Description

Convert the lower single-precision (32-bit) floating-point element in “b” to a double-precision (64-bit) floating-point element, store the result in the lower element of “dst”, and copy the upper element from “a” to the upper element of “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP32_To_FP64(b[31:0])
dst[127:64] := a[127:64]
dst[MAX:128] := 0

_mm_cvttpd_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128d a

Param ETypes:

FP64 a

__m128i _mm_cvttpd_epi32(__m128d a);

Intel Description

Convert packed double-precision (64-bit) floating-point elements in “a” to packed 32-bit integers with truncation, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR

_mm_cvttsd_si32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

int

Param Types:

__m128d a

Param ETypes:

FP64 a

int _mm_cvttsd_si32(__m128d a);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “a” to a 32-bit integer with truncation, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[31:0] := Convert_FP64_To_Int32_Truncate(a[63:0])

_mm_cvttsd_si64#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128d a

Param ETypes:

FP64 a

__int64 _mm_cvttsd_si64(__m128d a);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “a” to a 64-bit integer with truncation, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])

_mm_cvttsd_si64x#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__int64

Param Types:

__m128d a

Param ETypes:

FP64 a

__int64 _mm_cvttsd_si64x(__m128d a);

Intel Description

Convert the lower double-precision (64-bit) floating-point element in “a” to a 64-bit integer with truncation, and store the result in “dst”.

Intel Implementation Psudeo-Code

dst[63:0] := Convert_FP64_To_Int64_Truncate(a[63:0])

_mm_cvtps_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128 a

Param ETypes:

FP32 a

__m128i _mm_cvtps_epi32(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 32*j
        dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR

_mm_cvttps_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128 a

Param ETypes:

FP32 a

__m128i _mm_cvttps_epi32(__m128 a);

Intel Description

Convert packed single-precision (32-bit) floating-point elements in “a” to packed 32-bit integers with truncation, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 32*j
        dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR

_mm_cvtpd_pi32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128d a

Param ETypes:

FP64 a

__m64 _mm_cvtpd_pi32(__m128d a);

Intel Description

Convert packed double-precision (64-bit) floating-point elements in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR

_mm_cvttpd_pi32#

Tech:

SSE_ALL

Category:

Convert

Header:

emmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m64

Param Types:

__m128d a

Param ETypes:

FP64 a

__m64 _mm_cvttpd_pi32(__m128d a);

Intel Description

Convert packed double-precision (64-bit) floating-point elements in “a” to packed 32-bit integers with truncation, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR

_mm_cvtepi8_epi16#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

SI8 a

__m128i _mm_cvtepi8_epi16(__m128i a);

Intel Description

Sign extend packed 8-bit integers in “a” to packed 16-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        l := j*16
        dst[l+15:l] := SignExtend16(a[i+7:i])
ENDFOR

_mm_cvtepi8_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

SI8 a

__m128i _mm_cvtepi8_epi32(__m128i a);

Intel Description

Sign extend packed 8-bit integers in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 32*j
        k := 8*j
        dst[i+31:i] := SignExtend32(a[k+7:k])
ENDFOR

_mm_cvtepi8_epi64#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

SI8 a

__m128i _mm_cvtepi8_epi64(__m128i a);

Intel Description

Sign extend packed 8-bit integers in the low 8 bytes of “a” to packed 64-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 8*j
        dst[i+63:i] := SignExtend64(a[k+7:k])
ENDFOR

_mm_cvtepi16_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

SI16 a

__m128i _mm_cvtepi16_epi32(__m128i a);

Intel Description

Sign extend packed 16-bit integers in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

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

_mm_cvtepi16_epi64#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

SI16 a

__m128i _mm_cvtepi16_epi64(__m128i a);

Intel Description

Sign extend packed 16-bit integers in “a” to packed 64-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 16*j
        dst[i+63:i] := SignExtend64(a[k+15:k])
ENDFOR

_mm_cvtepi32_epi64#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

SI32 a

__m128i _mm_cvtepi32_epi64(__m128i a);

Intel Description

Sign extend packed 32-bit integers in “a” to packed 64-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 32*j
        dst[i+63:i] := SignExtend64(a[k+31:k])
ENDFOR

_mm_cvtepu8_epi16#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

UI8 a

__m128i _mm_cvtepu8_epi16(__m128i a);

Intel Description

Zero extend packed unsigned 8-bit integers in “a” to packed 16-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*8
        l := j*16
        dst[l+15:l] := ZeroExtend16(a[i+7:i])
ENDFOR

_mm_cvtepu8_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

UI8 a

__m128i _mm_cvtepu8_epi32(__m128i a);

Intel Description

Zero extend packed unsigned 8-bit integers in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 32*j
        k := 8*j
        dst[i+31:i] := ZeroExtend32(a[k+7:k])
ENDFOR

_mm_cvtepu8_epi64#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

UI8 a

__m128i _mm_cvtepu8_epi64(__m128i a);

Intel Description

Zero extend packed unsigned 8-bit integers in the low 8 byte sof “a” to packed 64-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 8*j
        dst[i+63:i] := ZeroExtend64(a[k+7:k])
ENDFOR

_mm_cvtepu16_epi32#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

UI16 a

__m128i _mm_cvtepu16_epi32(__m128i a);

Intel Description

Zero extend packed unsigned 16-bit integers in “a” to packed 32-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := 32*j
        k := 16*j
        dst[i+31:i] := ZeroExtend32(a[k+15:k])
ENDFOR

_mm_cvtepu16_epi64#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

UI16 a

__m128i _mm_cvtepu16_epi64(__m128i a);

Intel Description

Zero extend packed unsigned 16-bit integers in “a” to packed 64-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 16*j
        dst[i+63:i] := ZeroExtend64(a[k+15:k])
ENDFOR

_mm_cvtepu32_epi64#

Tech:

SSE_ALL

Category:

Convert

Header:

smmintrin.h

Searchable:

SSE_ALL-Convert-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a

Param ETypes:

UI32 a

__m128i _mm_cvtepu32_epi64(__m128i a);

Intel Description

Zero extend packed unsigned 32-bit integers in “a” to packed 64-bit integers, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := 64*j
        k := 32*j
        dst[i+63:i] := ZeroExtend64(a[k+31:k])
ENDFOR