AVX_ALL-Convert-YMM#

_mm256_cvtepi32_pd#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256d

Param Types:

__m128i a

Param ETypes:

SI32 a

__m256d _mm256_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 3
        i := j*32
        m := j*64
        dst[m+63:m] := Convert_Int32_To_FP64(a[i+31:i])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepi32_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

__m256i a

Param ETypes:

SI32 a

__m256 _mm256_cvtepi32_ps(__m256i 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 7
        i := 32*j
        dst[i+31:i] := Convert_Int32_To_FP32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtpd_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m128

Param Types:

__m256d a

Param ETypes:

FP64 a

__m128 _mm256_cvtpd_ps(__m256d 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 3
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_FP32(a[k+63:k])
ENDFOR
dst[MAX:128] := 0

_mm256_cvtps_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m256 a

Param ETypes:

FP32 a

__m256i _mm256_cvtps_epi32(__m256 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 7
        i := 32*j
        dst[i+31:i] := Convert_FP32_To_Int32(a[i+31:i])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtps_pd#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256d

Param Types:

__m128 a

Param ETypes:

FP32 a

__m256d _mm256_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 3
        i := 64*j
        k := 32*j
        dst[i+63:i] := Convert_FP32_To_FP64(a[k+31:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvttpd_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m128i

Param Types:

__m256d a

Param ETypes:

FP64 a

__m128i _mm256_cvttpd_epi32(__m256d 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 3
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_Int32_Truncate(a[k+63:k])
ENDFOR
dst[MAX:128] := 0

_mm256_cvtpd_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m128i

Param Types:

__m256d a

Param ETypes:

FP64 a

__m128i _mm256_cvtpd_epi32(__m256d 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 3
        i := 32*j
        k := 64*j
        dst[i+31:i] := Convert_FP64_To_Int32(a[k+63:k])
ENDFOR
dst[MAX:128] := 0

_mm256_cvttps_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m256 a

Param ETypes:

FP32 a

__m256i _mm256_cvttps_epi32(__m256 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 7
        i := 32*j
        dst[i+31:i] := Convert_FP32_To_Int32_Truncate(a[i+31:i])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtss_f32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

float

Param Types:

__m256 a

Param ETypes:

FP32 a

float _mm256_cvtss_f32(__m256 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]

_mm256_cvtsd_f64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

double

Param Types:

__m256d a

Param ETypes:

FP64 a

double _mm256_cvtsd_f64(__m256d 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]

_mm256_cvtsi256_si32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

int

Param Types:

__m256i a

Param ETypes:

UI32 a

int _mm256_cvtsi256_si32(__m256i a);

Intel Description

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

Intel Implementation Psudeo-Code

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

_mm256_cvtepi16_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

SI16 a

__m256i _mm256_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 7
        i := 32*j
        k := 16*j
        dst[i+31:i] := SignExtend32(a[k+15:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepi16_epi64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

SI16 a

__m256i _mm256_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 3
        i := 64*j
        k := 16*j
        dst[i+63:i] := SignExtend64(a[k+15:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepi32_epi64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

SI32 a

__m256i _mm256_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 3
        i := 64*j
        k := 32*j
        dst[i+63:i] := SignExtend64(a[k+31:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepi8_epi16#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

SI8 a

__m256i _mm256_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 15
        i := j*8
        l := j*16
        dst[l+15:l] := SignExtend16(a[i+7:i])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepi8_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

SI8 a

__m256i _mm256_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 7
        i := 32*j
        k := 8*j
        dst[i+31:i] := SignExtend32(a[k+7:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepi8_epi64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

SI8 a

__m256i _mm256_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 3
        i := 64*j
        k := 8*j
        dst[i+63:i] := SignExtend64(a[k+7:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepu16_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

UI16 a

__m256i _mm256_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 7
        i := 32*j
        k := 16*j
        dst[i+31:i] := ZeroExtend32(a[k+15:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepu16_epi64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

UI16 a

__m256i _mm256_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 3
        i := 64*j
        k := 16*j
        dst[i+63:i] := ZeroExtend64(a[k+15:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepu32_epi64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

UI32 a

__m256i _mm256_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 3
        i := 64*j
        k := 32*j
        dst[i+63:i] := ZeroExtend64(a[k+31:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepu8_epi16#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

UI8 a

__m256i _mm256_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 15
        i := j*8
        l := j*16
        dst[l+15:l] := ZeroExtend16(a[i+7:i])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepu8_epi32#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

UI8 a

__m256i _mm256_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 7
        i := 32*j
        k := 8*j
        dst[i+31:i] := ZeroExtend32(a[k+7:k])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtepu8_epi64#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m128i a

Param ETypes:

UI8 a

__m256i _mm256_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 3
        i := 64*j
        k := 8*j
        dst[i+63:i] := ZeroExtend64(a[k+7:k])
ENDFOR
dst[MAX:256] := 0

_mm256_bcstnebf16_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

const __bf16* __A

Param ETypes:

BF16 __A

__m256 _mm256_bcstnebf16_ps(const __bf16* __A);

Intel Description

Convert scalar BF16 (16-bit) floating-point element stored at memory locations starting at location “__A” to a single-precision (32-bit) floating-point, broadcast it to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

b := Convert_BF16_To_FP32(MEM[__A+15:__A])
FOR j := 0 to 7
        m := j*32
        dst[m+31:m] := b
ENDFOR
dst[MAX:256] := 0

_mm256_bcstnesh_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

const _Float16* __A

Param ETypes:

FP16 __A

__m256 _mm256_bcstnesh_ps(const _Float16* __A);

Intel Description

Convert scalar half-precision (16-bit) floating-point element stored at memory locations starting at location “__A” to a single-precision (32-bit) floating-point, broadcast it to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

b := Convert_FP16_To_FP32(MEM[__A+15:__A])
FOR j := 0 to 7
        m := j*32
        dst[m+31:m] := b
ENDFOR
dst[MAX:256] := 0

_mm256_cvtneebf16_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

const __m256bh* __A

Param ETypes:

BF16 __A

__m256 _mm256_cvtneebf16_ps(const __m256bh* __A);

Intel Description

Convert packed BF16 (16-bit) floating-point even-indexed elements stored at memory locations starting at location “__A” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        m := j*32
        dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+m+15:__A+m])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtneeph_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

const __m256h* __A

Param ETypes:

FP16 __A

__m256 _mm256_cvtneeph_ps(const __m256h* __A);

Intel Description

Convert packed half-precision (16-bit) floating-point even-indexed elements stored at memory locations starting at location “__A” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        m := j*32
        dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+m+15:__A+m])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtneobf16_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

const __m256bh* __A

Param ETypes:

BF16 __A

__m256 _mm256_cvtneobf16_ps(const __m256bh* __A);

Intel Description

Convert packed BF16 (16-bit) floating-point odd-indexed elements stored at memory locations starting at location “__A” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        m := j*32
        dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+m+31:__A+m+16])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtneoph_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

const __m256h* __A

Param ETypes:

FP16 __A

__m256 _mm256_cvtneoph_ps(const __m256h* __A);

Intel Description

Convert packed half-precision (16-bit) floating-point odd-indexed elements stored at memory locations starting at location “__A” to packed single-precision (32-bit) floating-point elements, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        m := j*32
        dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+m+31:__A+m+16])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtneps_avx_pbh#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m128bh

Param Types:

__m256 __A

Param ETypes:

FP32 __A

__m128bh _mm256_cvtneps_avx_pbh(__m256 __A);

Intel Description

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

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
ENDFOR
dst[MAX:128] := 0

_mm256_cvtneps_pbh#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m128bh

Param Types:

__m256 __A

Param ETypes:

FP32 __A

__m128bh _mm256_cvtneps_pbh(__m256 __A);

Intel Description

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

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
ENDFOR
dst[MAX:128] := 0

_mm256_cvtph_ps#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m256

Param Types:

__m128i a

Param ETypes:

FP16 a

__m256 _mm256_cvtph_ps(__m128i a);

Intel Description

Convert packed half-precision (16-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 7
        i := j*32
        m := j*16
        dst[i+31:i] := Convert_FP16_To_FP32(a[m+15:m])
ENDFOR
dst[MAX:256] := 0

_mm256_cvtps_ph#

Tech:

AVX_ALL

Category:

Convert

Header:

immintrin.h

Searchable:

AVX_ALL-Convert-YMM

Register:

YMM 256 bit

Return Type:

__m128i

Param Types:

__m256 a, int imm8

Param ETypes:

FP32 a, IMM imm8

__m128i _mm256_cvtps_ph(__m256 a, int imm8);

Intel Description

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

[round_imm_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := 16*j
        l := 32*j
        dst[i+15:i] := Convert_FP32_To_FP16(a[l+31:l])
ENDFOR
dst[MAX:128] := 0