我指的是英特尔关于至强Phi指令集的手册,我不能理解分散/聚集指令是如何工作的。
假设我有下面的双精度向量:
A-> |b4|a4|b3|a3|b2|a2|b1|a1|是否可以创建4个向量,如下所示:
V1->|b1|a1|b1|a1|b1|a1|b1|a1|
V2->|b2|a2|b2|a2|b2|a2|b2|a2|
V3->|b3|a3|b3|a3|b3|a3|b3|a3|
V4->|b4|a4|b4|a4|b4|a4|b4|a4|使用这些说明?有没有其他方法可以做到这一点?
发布于 2013-03-14 14:37:08
这是从英特尔论坛上获得的( Evgueni Petrov回答):
__m512d V1 = (__m512d)_mm512_extload_epi32(&Addr, _MM_UPCONV_EPI32_NONE, _MM_BROADCAST_4X16, _MM_HINT_NONE);其中'Addr‘是内存中位置的地址,我们从这里将双精度数加载到向量'A’中。
我们可以分别使用&(Addr+2)、&(Addr+4)和&(Addr+6)对V2、V3、V4执行类似的操作。
https://stackoverflow.com/questions/15355639
复制相似问题