GCCs atomic builtins - 支持哪些处理器

Kar*_*oor 6 c++ gcc atomic

该文件说:

并非所有目标处理器都支持所有操作.

有谁知道,哪个处理器支持哪种操作?

Nik*_*sov 3

不是直接答案,但链接页面中的以下片段提供了线索(重点是我的):

并非所有目标处理器都支持所有操作。如果无法在目标处理器上执行特定操作,则会生成警告生成外部函数调用。外部函数将具有与内置函数相同的名称,并带有附加后缀“_n”,其中 n 是数据类型的大小。

基本上这表明使用这些内置函数是安全的。它们将生成直接指令序列(如果支持)或通过给定名称调用仿真函数。

如果不支持特定的内置函数,编译器会警告您,因此很容易进行实验。

由于这些最初来自 Intel 规范,因此可以安全地假设它们存在于 x86 和 x86_64 上。