【发布时间】:2019-07-18 10:02:02
【问题描述】:
我正在尝试这样的事情:
__m128 cA = _mm_set_ps1(-2.0f);
__m128 cB = _mm_set_ps1(2.0f);
__m128 df = _mm_cmpgt_ps(cA, cB);
在这种情况下,df 返回零。
但如果我这样做:
__m128 cA = _mm_set_ps1(2.0f);
__m128 cB = _mm_set_ps1(-2.0f);
__m128 df = _mm_cmpgt_ps(cA, cB);
它返回所有 -nan 。是预期的行为吗?如果是,我如何评估那些nans?
使用英特尔 CPU,MS VisualStudio 2017
【问题讨论】:
-
@MarcGlisse “比较 a 和 b 中的压缩单精度(32 位)浮点元素是否大于,并将结果存储在 dst 中。”我假设它返回掩码。否?
-
如果读取为浮点数,所有设置位的掩码也是负 nan