On Thu, Aug 13, 2020 at 02:33:50PM +0200, Tobias Wölfel via Gcc wrote: > I observed that in some ELF files there is code present which is not used. > It originates from integer arithmetics. > The following snipped should help to demonstrate the problem.
It is there because the division in this case can be with identical result performed both as signed and unsigned long long division, and the expander attempts both to estimate which one is cheaper. And unfortunately the functions that add the .globl directives for the calls are done at expansion time rather than only based on what calls survive through the RTL optimizations. Or why we need them at all, just referencing the symbols in assembly should be all that is needed. Jakub