From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32572 invoked by alias); 11 Jul 2010 22:37:31 -0000 Received: (qmail 32530 invoked by uid 48); 11 Jul 2010 22:37:13 -0000 Date: Sun, 11 Jul 2010 22:37:00 -0000 Message-ID: <20100711223713.32529.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/44903] [4.6 Regression] FAIL: gcc.dg/pr35258.c execution test 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: 2010-07/txt/msg01233.txt.bz2 ------- Comment #12 from rguenth at gcc dot gnu dot org 2010-07-11 22:37 ------- (In reply to comment #11) > Subject: Re: [4.6 Regression] FAIL: gcc.dg/pr35258.c execution test > > > > The above testcase doesn't work with 4.5 and I doubt it ever worked on > > > PA. The pointer passed to foo is used as is. It's only the memcpy special > > > case that is handled by 4.5 and earlier. > > > > On i?86 we get correct 1-byte alignment for the pointer access while on > > my ia64-cross the MEM has 4-byte alignment which is wrong. t is properly > > 1-byte aligned (and pointer-to packed structs for example will work only > > because there's a handled_component_ref around the pointer dereference). > > On hppa64, I see > > (insn 7 6 8 3 xxx.c:3 (set (reg:SI 71) > (mem:SI (reg/v/f:DI 69 [ p ]) [0 *p_1(D)+0 S4 A32])) -1 (nil)) > > in expand. The alignment is passed into the move expander. For reference, on i?86 I see (on the 4.5 branch): (insn 6 5 7 3 t.c:3 (set (reg:SI 62) (mem:SI (reg/v/f:DI 60 [ p ]) [0 S4 A8])) -1 (nil)) and on trunk: (insn 6 5 7 3 t.c:3 (set (reg:SI 62) (mem:SI (reg/v/f:DI 60 [ p ]) [0 *p_1(D)+0 S4 A8])) -1 (nil)) Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44903