gpt4 book ai didi

c - Sparc V8比较和交换函数的内联汇编实现

转载 作者:行者123 更新时间:2023-11-30 14:26:16 24 4
gpt4 key购买 nike

我的 gcc 交叉编译器不支持Built-in functions for atomic memory access 。我如何使用 Sparc V8 架构的内联汇编来实现以下功能:

long __sync_val_compare_and_swap (long *ptr, long oldval long newval)
{
....
}

那些内置函数执行原子比较和交换。即如果*ptr当前值为oldval,则将newval写入*ptr。

最佳答案

SPARC V8 没有 CAS 指令,因此您必须以某种方式模拟它。例如。使用类似于 C 的 CAS 伪代码 http://www.oracle.com/technetwork/server-storage/solaris10/index-142944.html并使用静态 pthread 互斥体来确保原子 {} 区域的原子性。

关于c - Sparc V8比较和交换函数的内联汇编实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9360022/

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