From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16900 invoked by alias); 26 Mar 2007 05:43:21 -0000 Received: (qmail 16880 invoked by uid 48); 26 Mar 2007 05:43:10 -0000 Date: Mon, 26 Mar 2007 05:43:00 -0000 Subject: [Bug rtl-optimization/31360] New: [4.3 Regression] rtl loop invariant is broken X-Bugzilla-Reason: CC Message-ID: 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: 2007-03/txt/msg02424.txt.bz2 Testcase: void f(int *a) { int i; for (i = 0;i<100;i++) a[i] = 0; } -----------cut------------- we get: _f: li r0,0 li r2,4 stw r0,0(r3) li r0,99 mtctr r0 L2: li r0,0 stwx r0,r2,r3 addi r2,r2,4 bdnz L2 blr the "li r0,0" should be moved out of the loop but is not. -- Summary: [4.3 Regression] rtl loop invariant is broken Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org GCC target triplet: powerpc-darwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31360