From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1491 invoked by alias); 19 Oct 2010 03:25:45 -0000 Received: (qmail 1458 invoked by uid 22791); 19 Oct 2010 03:25:44 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,MISSING_MID,TW_VZ,TW_ZB X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 19 Oct 2010 03:25:40 +0000 From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/46076] [4.6 regression] constant propagation and compile-time math no longer happening versus 4.4 and 4.5 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Tue, 19 Oct 2010 03:25:00 -0000 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: 2010-10/txt/msg01557.txt.bz2 Message-ID: <20101019032500.i2UqDjO9KwVaXbpIxLvFzhZFiaC5Raz4AVl7Bj0xDiw@z> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46076 --- Comment #5 from Jan Hubicka 2010-10-19 03:25:37 UTC --- Also renaming main() to main2() so GCC no longer can track the runtime behaviour leads to: 0: 53 push %rbx 1: bb 00 00 00 00 mov $0x0,%ebx 6: ff d3 callq *%rbx 8: bf 00 00 00 00 mov $0x0,%edi d: 0f b6 f0 movzbl %al,%esi 10: 31 c0 xor %eax,%eax 12: e8 00 00 00 00 callq 17 17: ff d3 callq *%rbx 19: 0f b6 f0 movzbl %al,%esi 1c: bf 00 00 00 00 mov $0x0,%edi 21: 31 c0 xor %eax,%eax 23: 83 c6 01 add $0x1,%esi 26: bb 00 00 00 00 mov $0x0,%ebx 2b: e8 00 00 00 00 callq 30 30: ff d3 callq *%rbx 32: bf 00 00 00 00 mov $0x0,%edi 37: 0f b6 f0 movzbl %al,%esi 3a: 31 c0 xor %eax,%eax 3c: e8 00 00 00 00 callq 41 41: ff d3 callq *%rbx 43: 0f b6 f0 movzbl %al,%esi 46: bf 00 00 00 00 mov $0x0,%edi 4b: 31 c0 xor %eax,%eax 4d: 83 c6 01 add $0x1,%esi 50: e8 00 00 00 00 callq 55 55: 31 c0 xor %eax,%eax 57: 5b pop %rbx 58: c3 retq 59: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) that is 89 bytes. What is the problem with the proprietary and complex code?