Hi! On Fri, May 06, 2022 at 02:09:21PM +0000, Matthias Gehre via Gcc wrote: > We would like to add support for division/modulo on large arbitrary precision > integers to libgcc/compiler-rt > as required by C23's _BitInt type [0]. > > >From what I know, gcc doesn't yet support C23 _BitInt, but we would still > like to ensure that libgcc and compiler-rt can stay compatible in the future.
Why? Why would that be useful at all? libgcc is an implementation detail. It is not meant to be used by anything but GCC itself, and then only to implement things that aren't implemented some other way (by target code typically). The names of the functions it implements are based on the GCC-internal RTL names, often identical even. Defining the libgcc names first is not only futile, but also the wrong order. Most functions in libgcc are a not-so-ideal-but-at-least-it-works implementation that target maintainers who cannot be bothered to implement this functionality more optimally can use. Typically what you really want is not a library routine at all! As noted elsewhere (I forgot by whom, sorry) the target ABI will probably have somemthing to say about the actual data representation, so it is very counterproductive if we have something in libgcc that does something else. Segher