From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2486 invoked by alias); 27 Nov 2007 19:46:09 -0000 Received: (qmail 2359 invoked by alias); 27 Nov 2007 19:45:57 -0000 Date: Tue, 27 Nov 2007 19:46:00 -0000 Message-ID: <20071127194557.2357.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/32044] [4.3 regression] udivdi3 counterproductive, unwarranted use In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mark at codesourcery dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-11/txt/msg02666.txt.bz2 ------- Comment #35 from mark at codesourcery dot com 2007-11-27 19:45 ------- Subject: Re: [4.3 regression] udivdi3 counterproductive, unwarranted use bunk at stusta dot de wrote: > Even if this specific issue in the kernel would turn out as a misoptimization, > the general problem would still remain waiting to pop up at some later time at > a different place. Indeed. However, I think that the kernel developers should be aware that GCC is not designed to avoid libgcc functions. GCC fundamentally assumes that it may call various functions from libgcc as it pleases. (Sometimes it may do so for good reasons, sometimes it may be that it does it suboptimally.) Because there's nothing in GCC to keep it from "randomly" calling libgcc functions, if the kernel wants to be robust against different versions of GCC, it should provide definitions of these functions. There's no easy way to make GCC avoid these functions. That's not meant to defend GCC calling this particular function in this particular circumstance, of course. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32044