Cargar 8 caracteres de la memoria en una variable __m256 como flotadores de precisión individuales empaquetados
En un esfuerzo por optimizar un algoritmo para el desenfoque gaussiano, busca reemplazar el uso de un búfer flotante con una variable intrínseca __m256. Esta pregunta tiene como objetivo determinar las instrucciones óptimas para esta tarea.
Instrucción para la arquitectura AVX2:
; rsi = new_image VPMOVZXBD ymm0, [rsi] ; or SX to sign-extend (Byte to DWord) VCVTDQ2PS ymm0, ymm0 ; convert to packed foat
Estrategias adicionales:
Instrucciones para la arquitectura AVX1:
Realice los siguientes pasos:
VPMOVZXBD xmm0, [rsi] VPMOVZXBD xmm1, [rsi 4] VINSERTF128 ymm0, ymm0, xmm1, 1 ; put the 2nd load of data into the high128 of ymm0 VCVTDQ2PS ymm0, ymm0 ; convert to packed float
Consideraciones intrínsecas:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3