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.