VCVTNEOBF162PS

Convertir Odd Elements of Packed BF16 Values a FP32 Values

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
VEX.128.F2.0F38.W0 B0 !(11):rrr:bbbVCVTNEOBF162PS xmm1, m128AValidoValidoConvertir elementos extraños de los valores de BF16 empaquetados CONVERT de m128 a FP32 y almacenar en xmm1.
VEX.256.F2.0F38.W0 B0 !(11):rrr:bbbVCVTNEOBF162PS ymm1, m256AValidoValidoConvertir elementos extraños de los valores de BF16 empaquetados CONVERT de m256 a FP32 y almacenar en ymm1.

Codificacion de operandos

Cada modo es un valor de la columna Op/En de arriba. Dice en que campo de la instruccion codificada va cada operando, en el orden en que se escriben, y si la instruccion lo lee, lo escribe o ambas cosas.

A

  1. modrm.reg escriturabyte ModRM, campo reg (bits 5-3)
  2. modrm.rm lecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide

Coste medido

Cargando las mediciones de arch-data...

Descripción

Esta instrucción carga elementos BF16 empaquetados de memoria, convierte los elementos extraños a FP32, y escribe el resultado al registro de destino SIMD.

Esta instrucción no genera excepciones coma flotante y no consulta ni actualiza MXCSR.

Como cualquier número de BF16 puede ser representado en FP32, el resultado de la conversión es exacto y no se necesita redondeo.

Operación

VCVTNEOBF162PS dest, src (VEX encoded version)
VL = (128, 256)
KL = VL/32

FOR i in range(0, KL):
    dest.dword[i] = make_fp32(src.dword[i].word[1])

DEST[MAXVL-1:VL] := 0

Banderas afectadas

None.

Intel C/C++ compilador intrínseco

VCVTNEOBF162PS __m128 _mm_cvtneobf16_ps (const __m128bh* __A);
VCVTNEOBF162PS __m256 _mm256_cvtneobf16_ps (const __m256bh* __A);

SIMD coma flotante Excepciones

None.

Otras excepciones

Ver Tabla 2-21, "Tipo 4 Condiciones de Excepción".

Fuentes