This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/48377] [4.6/4.7 regression] miscompilation at -O3


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

--- Comment #40 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-03 10:06:26 UTC ---
(In reply to comment #39)
> > Fixed (the testcase with aligned(1)).  The original is INVALID.
> 
> The testcase with aligned(1) cannot pass on strict-alignment targets, either
> with or without vectorization.  On the SPARC:
> 
> (botcazou@nile) /nile.build/botcazou/gcc-head/sparc-sun-solaris2.8 $ ./pr48377
> Bus Error (core dumped)
> 
> On IA-64:
> 
> (botcazou@merced) /nile.build/botcazou/gcc-head/ia64-linux-gnu $ ./pr48377
> pr48377(1543): unaligned access to 0x6000000000001041, ip=0x4000000000000650
> pr48377(1543): unaligned access to 0x6000000000001045, ip=0x4000000000000650
> pr48377(1543): unaligned access to 0x6000000000001049, ip=0x4000000000000650
> pr48377(1543): unaligned access to 0x600000000000104d, ip=0x4000000000000650
> 
> Please move it to gcc.target/i386 or something equivalent.

Can you explain why it cannot pass on strict-alignment targets?  The read is
done through a type with explicit low alignment, so strict alignment targets
just shouldn't use an aligned load but unaligned load in that case.  If that
doesn't work, it is a target bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]