logoalt Hacker News

mmozeikotoday at 6:11 AM3 repliesview on HN

xor swap trick was useful in older simd (sse1/sse2) when based on some condition you want to swap values or not:

  tmp = (a ^ b) & mask
  a ^= tmp
  b ^= tmp
If mask = 0xfff...fff then a/b will be swapped, otherwise if mask = 0 then they'll remain the same.

Replies

koolalatoday at 10:32 AM

Could this still be the ideal way for vectors of Ints in WebGL2?

CJeffersontoday at 6:39 AM

Oh, that is cool, I’ve never seen that. I might add that to an extended version of the post sometime, I’ll be sure to credit you.

jesse__today at 9:52 AM

That's hella cute