From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9945 invoked by alias); 28 Mar 2008 13:41:29 -0000 Received: (qmail 9673 invoked by uid 48); 28 Mar 2008 13:40:27 -0000 Date: Fri, 28 Mar 2008 13:41:00 -0000 Message-ID: <20080328134027.9671.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/19580] [4.1/4.2/4.3 Regression] missed load/store motion In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth 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-03/txt/msg02263.txt.bz2 ------- Comment #38 from rguenth at gcc dot gnu dot org 2008-03-28 13:40 ------- Fixed in GCC 4.4 with the store-motion rewrite to use an alias-oracle: : r_I_lsm.18 = r[5]; r_I_lsm.13 = r[0]; r_I_lsm.14 = r[1]; r_I_lsm.15 = r[2]; r_I_lsm.16 = r[3]; r_I_lsm.17 = r[4]; r_I_lsm.27 = r_I_lsm.18; : r_I_lsm.13 = r_I_lsm.13 + r_I_lsm.27; r_I_lsm.14 = r_I_lsm.14 + r_I_lsm.13; r_I_lsm.15 = r_I_lsm.14 + r_I_lsm.15; r_I_lsm.16 = r_I_lsm.15 + r_I_lsm.16; r_I_lsm.17 = r_I_lsm.16 + r_I_lsm.17; r_I_lsm.18 = r_I_lsm.17 + r_I_lsm.18; n.26 = n.26 + -1; r_I_lsm.28 = r_I_lsm.27; r_I_lsm.27 = r_I_lsm.18; if (n.26 != 0) goto ; else goto ; : r_I_lsm.27 = r_I_lsm.28; r[0] = r_I_lsm.13; r[1] = r_I_lsm.14; r[2] = r_I_lsm.15; r[3] = r_I_lsm.16; r[4] = r_I_lsm.17; r[5] = r_I_lsm.18; I'll add a testcase to the testsuite. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work|3.3.3 2.95.3 3.0.4 3.2.3 |3.3.3 2.95.3 3.0.4 3.2.3 | |4.4.0 Summary|[4.1/4.2/4.3/4.4 Regression]|[4.1/4.2/4.3 Regression] |missed load/store motion |missed load/store motion http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19580