[英]Can't read float array into __m128
我在摆弄矢量化(初学者)。 关键是看我是否可以展开循环。 我喜欢这样加载四个连续的浮点数,请参见段错误。
el0 = _mm_load_ps(&array[0]);
el1 = _mm_load_ps(&array[1]); // Seg fault
我理解为什么会出现段错误。 我的问题是,是否有一种带有偏移量的_mm_loading整齐的方法?
评论者已经解决了它,但是当问题出现在未回答的问题列表中时,这很烦人。
_mm_load_ps(&array[0]) // load a vector of array[0..3]
_mm_load_ps(&array[1]) // load a vector of array[1..4]. different alignment than array[0]
// what you probably want is:
_mm_load_ps(&array[4]) // load a vector of array[4..7], aligned if array is aligned
索引跨度应为sizeof(vector_type)/sizeof(array[0])
。 (然后,当您扩展AVX的代码时,不必更改索引。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.