[Bug target/44903] [4.6 Regression] FAIL: gcc.dg/pr35258.c execution test

dave at hiauly1 dot hia dot nrc dot ca gcc-bugzilla@gcc.gnu.org
Sun Jul 11 22:22:00 GMT 2010



------- Comment #11 from dave at hiauly1 dot hia dot nrc dot ca  2010-07-11 22:22 -------
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.

Dave


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44903



More information about the Gcc-bugs mailing list