From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27766 invoked by alias); 16 Mar 2009 22:53:28 -0000 Received: (qmail 27738 invoked by uid 48); 16 Mar 2009 22:53:12 -0000 Date: Mon, 16 Mar 2009 22:53:00 -0000 Message-ID: <20090316225312.27737.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/39429] compiler create bad asm codes. In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rearnsha 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: 2009-03/txt/msg01122.txt.bz2 ------- Comment #2 from rearnsha at gcc dot gnu dot org 2009-03-16 22:53 ------- Confirmed. This is a bug in the arith_adjacent_mem pattern that only triggers when the offset to the memory from the base pointer exceeds the range of a simple add instruction (ie more than 1024 bytes). In that case we fall back to emitting two ldr instructions, but fail to consider the case when the first load overwrites the base address. -- rearnsha at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rearnsha at gcc dot gnu dot | |org, ramana dot r at gmail | |dot com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-03-16 22:53:12 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429