Una carga SSE entera más rápida sin alinear que rara vez se usa [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cuál es la diferencia entre _mm256_lddqu_si256 y _mm256_loadu_si256 1 respuestaMe gustaría saber más sobre el_mm_lddqu_si128
intrínsecolddqu
instrucción desde SSE3) particularmente en comparación con el_mm_loadu_si128
intrínseco (instrucción movdqu desde SSE2).
Solo descubri_mm_lddqu_si128
hoy. La guía intrínseca de Intel dice
este intrínseco puede funcionar mejor que _mm_loadu_si128 cuando los datos cruzan un límite de línea de caché
yun comentario dice eso
funcionará mejor bajo ciertas circunstancias, pero nunca funcionará peor.
Entonces, ¿por qué no se usa más (SSE3 es una barra bastante baja ya que todos los procesadores Core2 lo tienen)? ¿Por qué puede funcionar mejor cuando los datos cruzan una línea de caché? Eslddqu
solo posiblemente mejor en un cierto subconjunto de procesadores. P.ej. antes de Nehalem?
Me doy cuenta de que podría leer un manual de Intel para encontrar la respuesta, pero creo que esta pregunta puede ser interesante para otras personas.