AVX 256位等效于_mm_load1_ps

Bra*_*ram 8 simd intrinsics avx

使用SSE,您可以将内存中的单个浮点数加载到__m128的所有4个插槽中,并使用内部_mm_load1_ps()

当使用带有AVX的256位宽SIMD时,似乎没有_mm256_load1_ps()将单个浮点数从存储器加载到向量的所有8个插槽中.

为什么会遗漏这个遗漏,最好的方法是什么呢?

或者甚至更好:有没有办法将单个浮点数加载到向量的目标槽0..7?

Mar*_*han 11

_mm256_broadcast_ss正是您要找的.

  • _mm256_set1_ps(*x)也可以,但它可以生成多个指令._mm256_broadcast_ss保证只生成一条指令VBROADCASTSS (3认同)