使用 以标准方式实现饱和钳位x = min(max(x, lower_limit), upper_limit),使用您想要的任何整数宽度。或者让编译器std::clamp为您自动矢量化。
8、16、32方便;AVX2 没有为 64 位整数打包最小/最大值,但您可以使用vpcmpgtq. AVX512 具有vpmaxsq. 仅使用 SSE2,只有最小/最大操作的几个大小/符号组合可用。SSE4.1 修复了这个问题,因此 AVX2 具有有符号和无符号的所有 3 种大小。
例如,对于 8 位整数,_mm256_max_epi8对于__m256i向量上的有符号整数最大值。
请参阅Intel 的内在函数指南以查找内在函数。
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |