On Wed, Oct 27, 2021 at 04:12:27PM +0000, sotrdg sotrdg via Gcc-help wrote: > 79173 – add-with-carry and subtract-with-borrow support (x86_64 and others) (gnu.org)<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173> > > What I find quite interesting is things like this. > > Since llvm clang provides __builtin_addc __builtin_subc for all targets. Can we provide something similar? Since currently no solutions we can access carry flag besides x86 Why? We have __builtin_add_overflow, which is a smaller factor, and enough to build up any bigger factors with. You can easily write the same thing in standard C of course, which often is a better plan. If you want exact machine insns as output, write those, i.e., write assembler code, not C. Builtins are not there to please the "C is a portable assembler" crowd: they are there to expose functionality you cannot (conveniently) get using just pure standard C. Segher