On 11/10/20 1:14 PM, Jakub Jelinek via Gcc-patches wrote: > On Tue, Nov 10, 2020 at 08:44:32PM +0100, Stefan Kanthak wrote: >> 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? > E.g. avr-none, msp430-elf, pdp11-aout. > And I see recursive __cmpdi2 calls on avr-none too.
ACK. I'll pull those [u]cmpdi changes. They were iffy at best, this confirms the concerns we both had. jeff