From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25068 invoked by alias); 3 Apr 2007 06:43:45 -0000 Received: (qmail 25024 invoked by uid 48); 3 Apr 2007 06:43:33 -0000 Date: Tue, 03 Apr 2007 06:43:00 -0000 Message-ID: <20070403064333.25023.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/29953] [SH-4] Perfomance regression in loops. cmp/eq used instead of dt In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "christian dot bruel at st 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-04/txt/msg00170.txt.bz2 ------- Comment #3 from christian dot bruel at st dot com 2007-04-03 07:43 ------- thank you for reporting this, There is indeed a data dependency on 'r2' introduced by the cmp/eq instruction, preventing the mov and the comparaison to be executed in parallel, unlike the dt on the induction variable. The use of dt seems to be quite sensitive, I checked on various versions sh-gcc (3.3.x, 3.4.x) and it was difficult to find one using the correct strategy. I'll check that issue. Regards, -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29953