Vector (AVX and AVX10)
AVX-NE-CONVERT
VEX-encoded conversions of bfloat16 and half-precision values to single precision and of single precision to bfloat16, which neither consult MXCSR nor raise floating-point exceptions.
- CPUID
- AVX_NE_CONVERT
CPUID.(EAX=07H,ECX=1):EDX[5] - Instructions
- 7 mnemonics
- Processors
- Arrow Lake, Panther Lake, Nova Lake, Diamond Rapids, Sierra Forest, Clearwater Forest
AVX-NE-CONVERT converts between single precision and the two 16-bit floating-point formats, bfloat16 and IEEE half precision, without AVX-512. “NE” stands for no exceptions: the instructions neither raise floating-point exceptions nor read or update MXCSR.
- VCVTNEPS2BF16 rounds single-precision values to bfloat16.
- VCVTNEEBF162PS and VCVTNEOBF162PS load a vector of bfloat16 values and widen the even or the odd elements to single precision; VCVTNEEPH2PS and VCVTNEOPH2PS do the same for half precision. Together they widen both halves of every 32-bit element.
- VBCSTNEBF162PS and VBCSTNESH2PS broadcast one 16-bit value from memory to every single-precision element.
Widening bfloat16 is exact, since every bfloat16 value is a single-precision value with a shorter mantissa.
Instructions
| Mnemonic | Summary | Forms |
|---|---|---|
| VBCSTNEBF162PS | Loads one bfloat16 value from memory, converts it to single precision and broadcasts it to every element, without floating-point exceptions. | 2 |
| VBCSTNESH2PS | Loads one half-precision value from memory, converts it to single precision and broadcasts it to every element, without floating-point exceptions. | 2 |
| VCVTNEEBF162PS | Converts the even-numbered bfloat16 values of a memory operand to single precision, without floating-point exceptions. | 2 |
| VCVTNEEPH2PS | Converts the even-numbered half-precision values of a memory operand to single precision, without floating-point exceptions. | 2 |
| VCVTNEOBF162PS | Converts the odd-numbered bfloat16 values of a memory operand to single precision, without floating-point exceptions. | 2 |
| VCVTNEOPH2PS | Converts the odd-numbered half-precision values of a memory operand to single precision, without floating-point exceptions. | 2 |
| VCVTNEPS2BF16 | Converts packed single-precision values to bfloat16, rounding to nearest even with denormals flushed to zero and without consulting MXCSR. | 4 |
CPUID and processors
XED splits AVX-NE-CONVERT into 1 ISA set. Software can use a form when the processor reports every CPUID bit of one alternative of the form's ISA set.
| ISA set | CPUID | Processors in XED |
|---|---|---|
AVX_NE_CONVERT | AVX_NE_CONVERT | Arrow Lake, Panther Lake, Nova Lake, Diamond Rapids, Sierra Forest, Clearwater Forest |
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, ISA sets, CPUID bits and chip model. - Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-092, June 2026)
The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.