HEY. ZERO COST ABSTRACTIONS lol

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows

From: Segher Boessenkool<mailto:seg...@kernel.crashing.org>
Sent: Wednesday, October 27, 2021 19:17
To: sotrdg sotrdg<mailto:euloa...@live.com>
Cc: gcc@gcc.gnu.org<mailto:gcc@gcc.gnu.org>; 
gcc-requ...@gcc.gnu.org<mailto:gcc-requ...@gcc.gnu.org>; 
gcc-h...@gcc.gnu.org<mailto:gcc-h...@gcc.gnu.org>
Subject: Re: __builtin_addc support??

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

Reply via email to