繁体   English   中英

无法将浮点数组读入__m128

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM