Eric Botcazou <botca...@adacore.com> wrote: >> The implementation of the __ashlDI3(), __ashrDI3() and __lshrDI3() functions >> is rather bad, it yields bad machine code at least on i386 and AMD64. Since >> GCC knows how to shift integers twice the register size these functions can >> be written as one-liners. > > These functions are precisely meant to be used when GCC cannot do that.
On which processor(s) is GCC unable to generate code for DWtype shifts? JFTR: if GCC were not able to generate code for DWtype addition and subtraction it would also need __[u]addDI3() and __[u]subDI3() functions ... which are but missing from libgcc.a Stefan Kanthak