From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7078 invoked by alias); 1 May 2003 23:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 7044 invoked by uid 71); 1 May 2003 23:56:00 -0000 Date: Thu, 01 May 2003 23:56:00 -0000 Message-ID: <20030501235600.7043.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Steven Bosscher Subject: Re: c/1687: [3.3/3.4 regression] Exponential time behavior with -O -finline-functions (compile time regression from 2.95.3) Reply-To: Steven Bosscher X-SW-Source: 2003-05/txt/msg00085.txt.bz2 List-Id: The following reply was made to PR c/1687; it has been noted by GNATS. From: Steven Bosscher To: gcc-gnats@gcc.gnu.org, kcook34@ford.com, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org, mark@codesourcery.com Cc: Subject: Re: c/1687: [3.3/3.4 regression] Exponential time behavior with -O -finline-functions (compile time regression from 2.95.3) Date: Fri, 02 May 2003 01:52:13 +0200 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=1687 This bug exists for at least '+', '-', '&', '|' as operators in the attached test case, i.e. int in0 ; int in1 ; int in2 ; int in3 ; int in4 ; int in5 ; int in6 ; int in7 ; int in8 ; int in9 ; int in10; int in11; int in12; int in13; int in14; int in15; unsigned long output; void mux(void) { output = (in0 ? 0x00000001 : 0) + (in1 ? 0x00000002 : 0) || (in2 ? 0x00000004 : 0) + (in3 ? 0x00000008 : 0) || (in4 ? 0x00000010 : 0) + (in5 ? 0x00000020 : 0) || (in6 ? 0x00000040 : 0) + (in7 ? 0x00000080 : 0) || (in8 ? 0x00000100 : 0) + (in9 ? 0x00000200 : 0) || (in10 ? 0x00000400 : 0) + (in11 ? 0x00000800 : 0) || (in12 ? 0x00001000 : 0) + (in13 ? 0x00002000 : 0) || (in14 ? 0x00004000 : 0) + (in15 ? 0x00008000 : 0) ; } also triggers the bug. But '||' and '&&' do not. Maybe a bug somewhere in convert? Greetz Steven