让编译器生成adc指令

coo*_*451 9 c++ compiler-construction optimization assembly

是否有任何方法可以让Clang,GCC或VS仅使用Standard-C++(98/11/14)生成adc(带有进位)指令?(编辑:我的意思是在x64模式下,如果不清楚则很抱歉.)

Sam*_*ell 1

如果您为 X86(在 C++ 11 中)编译 64 位有符号加法int64_t,则编译后的代码将包含一条adc指令。

编辑:代码示例:

int64_t add_numbers(int64_t x, int64_t y) {
    return x + y;
}
Run Code Online (Sandbox Code Playgroud)

在 X86 上,加法是使用一条add指令后跟一条adc指令来实现的。add在 X64 上,仅使用一条指令。