ARMv7和/或ARMv8指令集是否提供类似于PEXT
on x86的指令?
如果没有,什么是最有效的指令组合来实现相同的行为?
发布于 2022-01-21 10:26:06
这是我的实现
// w14 = pext(val: w13, mask: w15)
// Used Regs x12-x15
// (w13 & w15 will BROKEN after the loop)
mov w14, wzr;
.loop:
cbz w15, .pext_end; // may accelerate by prepare with (w13 & w15)
clz w12, w15
lsl w13, w13, w12
lsl w15, w15, w12
extr w14, w14, w13, #31
bfc w15, #31, #1
b .loop
.pext_end:
https://stackoverflow.com/questions/70023767
复制相似问题