saturation-arithmetic相关内容

有没有办法使用MMX/SSE减去x86上饱和的压缩无符号双字?

我一直在看MMX/SSE,我想知道.对于无符号字节和字(但不是双字),有打包,饱和减法的说明. 有没有一种方法可以做我想要的事情,如果没有,为什么没有呢? 解决方案 如果有可用的SSE4.1,我认为没有比使用@harold建议的pmaxud + psubd方法更好的方法了.借助AVX2,您当然也可以使用相应的256位变体. __m128i subs_epu32_sse4(__m ..
发布时间:2020-08-06 01:37:15 其他开发

添加饱和的32位带符号的int内在函数?

有人可以推荐使用Intel内部函数(AVX,SSE4 ...)添加饱和的32位有符号整数的快速方法吗? 我查看了内在函数指南,发现 _mm256_adds_epi16 ,但这似乎只增加了16位整数。我看不到32位的相似之处。 解决方案 在(且仅)以下情况下,会发生签名溢出: 两个输入的符号相同, 总和的符号(加上环绕符号时) )不同于输入 使用C操作符: overflo ..
发布时间:2020-06-01 20:56:37 其他开发

C-带按位运算符的饱和有符号整数乘法

好的,所以我要做的赋值是将一个有符号整数乘以2并返回该值.如果该值溢出,则通过返回Tmin或Tmax使其饱和.挑战在于仅使用这些逻辑运算符(!〜& ^ | +>),而没有(if语句,循环等),并且最多只能使用20个逻辑运算符. 现在我想解决这个问题的过程首先是找到极限.因此,我将Tmin/max除以2得到边界.这就是我所拥有的: 正面 此及更高版本的作品: 1100 ..