问题标签 [swar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何实现 SWAR 无符号小于?
我试图uint64_t
像使用 8 条车道一样使用uint8_t
;我的目标是实现一个车道一个车道小于。如果相应车道 in的值小于该车道 in 的值,则给定x
和的该操作y
应产生结果 with in a lane ,否则。逐个车道小于或等于也可以。0xFF
x
y
0x00
根据我所看到的,我猜我需要一个lanewise差异或零操作(定义为doz(x, y) = if (x < y) then 0 else (x - y)
),然后使用它来构造一个选择蒙版。但是,我见过的所有通道减法方法都已签名,我不确定如何使用它们来完成此类任务。
有没有办法我可以做到这一点,使用差异或零或其他方式?
bit-manipulation - 位扭动到正确的包装位
我有以下代码,它正确打包 64 位 int 的每 4 位。这是一种天真的方法,我使用的是查找表和循环。我想知道是否有更快的旋转、swar/simd、并行方式来更快地做到这一点?(msb() 返回最高有效位)