我正在查看AVX 编程参考。新的Haswell 指令包括一些期待已久的“收集”负载。但是,我无法弄清楚索引数据项的对齐限制是什么。参考的第 2.5 节“内存对齐”似乎应该列出VGATHER*
表 2.4 或 2.5 之一中的各种指令......但它没有。
背景:虽然收集指令支持的数据大小为 4 和 8 字节,但我的应用程序可以受益于将相邻的 16 位数据值对收集加载到 DWORDS。具有 2 字节比例的奇数索引将产生 2 字节对齐的 4 字节负载,从手册中我不清楚这是否会出错或无法按预期工作(我宁愿怀疑我运气不好支持未对齐访问的指令中似乎有一个“U”)。