什么是最有效的转移和添加方式

时间:2013-11-07 14:51:39

标签: assembly x86-64 simd

我有64位内存值,前16位是偏移量,将16位添加到其他48位的最有效方法是什么。显而易见的逻辑是

ab = *ptr >> 48
result = *ptr & 0x0000 ffff ffff ffff + ab; 

如果它是20/44位也会是什么。

SIMD / Asm答案很好。

我也可以在最后存储偏移量,仅供参考,主要值是对象地址,偏移量是对象的偏移量。在开始时使用位允许收集器使用寄存器来屏蔽它,但它更好地优化了mutator。

0 个答案:

没有答案