1

我试图在 Power9 上发现 Clang 等效于GCC 。__builtin_darn()Grepping Clang 7.0 的源代码看起来 LLVM 支持它:

llvm_source$ cat llvm/test/MC/PowerPC/ppc64-encoding.s | grep darn -B 1 -A 1

# CHECK-BE: darn 2, 3                       # encoding: [0x7c,0x43,0x05,0xe6]
# CHECK-LE: darn 2, 3                       # encoding: [0xe6,0x05,0x43,0x7c]
            darn 2, 3

但是,我看不到内置:

llvm_source$ grep -IR darn | grep builtin
llvm_source$

什么是 GCC 的 Clang 等价物__builtin_darn()

4

2 回答 2

1

这已合并到 LLVM 12.0.0-rc1 中,因此它很可能在 llvm/clang 12 中可用。

于 2021-01-28T02:52:18.460 回答
0

您可以在扩展 ASM 中写入(您可能已经这样做了):

void t2()
{
    static unsigned int x;
    asm __volatile__("darn %0,1": "=r" (x));
}

你的错误参考:https ://bugs.llvm.org/show_bug.cgi?id=39800

于 2019-11-07T05:48:43.480 回答