gpt4 book ai didi

swift - 如何使用基本的按位操作复制 PEXT(并行位提取)?

转载 作者:搜寻专家 更新时间:2023-11-01 05:33:28 24 4
gpt4 key购买 nike

我正在将一些代码从 Rust 移植到 Swift,我注意到他们使用 pext 方法进行一些位操作。由于这是一条 Intel 指令,我无法将其放入我的 Swift 代码中,所以我想知道哪一组按位指令(我可以在 Swift 中使用)能够获得与 PEXT 相同的结果操作。

有关更多上下文,这里是对 PEXT 的描述

基本上它使用一个掩码将高阶位映射到连续的低阶位并清除最终输出中的高阶位。示例:

source = 1011 1110 1001 0011
mask = 0110 0011 1000 0101

s = pext(source, mask)

s -> 0000 0000 0011 0101

我知道复制高级指令会影响性能,但我真的只是想让代码正常工作。

最佳答案

@LưuVĩnhPhúc 回答正确。尽管它在非英特尔架构上效率极低,但我建议其他希望将 BMI2 指令合并到 Swift 代码中的人仅在针对 macOS 时这样做

关于swift - 如何使用基本的按位操作复制 PEXT(并行位提取)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com