From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5682 invoked by alias); 24 Nov 2005 06:51:25 -0000 Received: (qmail 5661 invoked by uid 48); 24 Nov 2005 06:51:23 -0000 Date: Thu, 24 Nov 2005 06:51:00 -0000 Message-ID: <20051124065123.5660.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/24997] [4.1/4.2 regression] ICE with -ftree-vectorize In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "amodra at bigpond dot net dot au" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2005-11/txt/msg03329.txt.bz2 List-Id: ------- Comment #7 from amodra at bigpond dot net dot au 2005-11-24 06:51 ------- I'm not surprised that reducing this testcase isn't easy. Register pressure is needed to trigger the bug. The problem is that in (insn:HI 2761 3601 2769 279 wmadec.c:1117 (set (reg:V4SF 280 [ vect_var_.655 ]) (mem:V4SF (and:SI (plus:SI (reg/f:SI 1824) (reg:SI 284 [ base_off.641 ])) (const_int -16 [0xfffffffffffffff0])) [4 S16 A128])) 628 {altivec_lvx_v4sf} (insn_list:REG_DEP_TRUE 2757 (nil)) (expr_list:REG_DEAD (reg:SI 284 [ base_off.641 ]) (nil))) reg 1824 doesn't get a hard register, so is replaced with a stack slot (insn:HI 2761 3601 2769 279 wmadec.c:1117 (set (reg:V4SF 89 12 [orig:280 vect_var_.655 ] [280]) (mem:V4SF (and:SI (plus:SI (plus:SI (reg/f:SI 1 1) (reg:SI 11 11 [orig:284 base_off.641 ] [284])) (const_int 16512 [0x4080])) (const_int -16 [0xfffffffffffffff0])) [4 S16 A128])) 628 {altivec_lvx_v4sf} (insn_list:REG_DEP_TRUE 2757 (nil)) (expr_list:REG_DEAD (reg:SI 11 11 [orig:284 base_off.641 ] [284]) (nil))) reload just tries to put the mem address, including the AND, into a reg. It needs to be taught that the AND should stay with the insn. The real address is the part inside the AND. -- amodra at bigpond dot net dot au changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |tree-optimization Target Milestone|4.1.0 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24997