From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1625 invoked by alias); 30 Aug 2008 01:43:06 -0000 Received: (qmail 1376 invoked by uid 48); 30 Aug 2008 01:41:45 -0000 Date: Sat, 30 Aug 2008 01:43:00 -0000 Message-ID: <20080830014145.1375.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/37262] Two branches of the same condition being emitted In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia at gcc dot gnu dot org" 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: 2008-08/txt/msg02416.txt.bz2 ------- Comment #1 from pinskia at gcc dot gnu dot org 2008-08-30 01:41 ------- I have seen this in other cases even for the non doloop case, though I don't know if it is because of -O1 or because it is not removing it. Testcase: int _bfd_xcoff_canonicalize_dynamic_reloc (unsigned long long l_symndx) { if (l_symndx < 3) { switch (l_symndx) { case 0: case 1: break; case 2: return _bfd_abort (); } } } --- CUT --- Compile at -O1 on powerpc-linux and you will see the double branches: bne 0,.L7 bne 0,.L8 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37262