RCPSS
Compute Reciprocal of valores en coma flotante de precisión simple escalares
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
F3 0F 53 /r | RCPSS xmm1, xmm2/m32 | RM | Valido | Valido | Computa el recíproco aproximado de los valores en coma flotante de precisión simple escalares en xmm2/m32 y almacena el resultado en xmm1. |
VEX.LIG.F3.0F.WIG 53 /r | VRCPSS xmm1, xmm2, xmm3/m32 | RVM | Valido | Valido | Computa el recíproco aproximado de los valores en coma flotante de precisión simple escalares en xmm3/m32 y almacena el resultado en xmm1. Además, los valores de punto flotante de precisión superior (bits[127:32]) de xmm2 son copiados a xmm1[127:32]. |
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.
RM
modrm.regescriturabyte ModRM, campo reg (bits 5-3)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide
RVM
modrm.regescriturabyte ModRM, campo reg (bits 5-3)vex.vvvvlecturaprefijo VEX, campo vvvv (invertido)modrm.rmlecturabyte 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
Computación de un recíproco aproximado del bajovalor en coma flotante de precisión simpledentroel operando de origen(segundooperando) y tiendasla coma flotante de precisión simpleresultadoel operando de destino. El operando de origen puede ser un registro XMM o una ubicación de memoria de 32 bits. El operando de destino es un registro XMM. Las tres palabras dobles de alto orden del operando de destino no se modifican. Ver Figura 10-6 en Intel(R) 64 e IA-32 Architectures Software Developer's Manual, Volumen 1, para una ilustración de una operación flotante de precisión simple escalar.
El error relativo para esta aproximación es:
|Relative Error| 1.5 2-12La instrucción RCPSS no se ve afectada por los bits de control de redondeo en el registro MXCSR. Cuando un valor fuente es un 0.0, se devuelve un signo del valor fuente. Un valor de fuente denormal se trata como un 0,0 (del mismo signo). Pequeños resultados (ver Sección 4.9.1.5, "Numeric Underflow Excepción (#U)" en Intel(R) 64 e IA-32 Architectures Software Developer's Manual, Volumen 1) siempre se desbordan a 0.0, con el signo del operando. (Los valores de entrada superiores o iguales a tención1.111111110100000000B2125 Las vidas están garantizadas para no producir resultados minúsculos; los valores de entrada menos o igual a TEN1.00000000110000001B*2126 están garantizados para producir resultados minúsculos, que a su vez se desbordan a 0.0; y los valores de entrada entre esta gama pueden o no producir resultados minúsculos, dependiendo de la implementaciónNa
En modo de 64 bits, el uso de un prefijo REX en forma de REX.R permite esta instrucción para acceder a registros adicionales (XMM8-XMM15).
128-bit Legacy SSE versión: El primer operando de origen y el operando de destino son los mismos. Bits (MAXVL- 1:32) del registro de destino YMM correspondiente no se modifican.
VEX.128 versión codificada: Bits (MAXVL-1:128) del destino YMM registro se ponen a cero.
Operación
RCPSS (128-bit Legacy SSE Version)
DEST[31:0] := APPROXIMATE(1/SRC[31:0])
DEST[MAXVL-1:32] (Unmodified)
VRCPSS (VEX.128 Encoded Version)
DEST[31:0] := APPROXIMATE(1/SRC2[31:0])
DEST[127:32] := SRC1[127:32]
DEST[MAXVL-1:128] := 0Intel C/C++ compilador intrínseco
RCPSS __m128 _mm_rcp_ss(__m128 a);SIMD coma flotante Excepciones
None.
Otras excepciones
Ver Tabla 2-22, "Tipo 5 Condiciones de Excepción de Clase".