Hi all, The recently added gcc.target/arm/pr58041.c test exposed a bug in the backend. When compiling for NEON and with -mno-unaligned-access we end up generating the vld1.64 and vst1.64 instructions instead of doing the accesses one byte at a time like -mno-unaligned-access expects. This patch fixes that by enabling the NEON expander and insns that produce these instructions only when unaligned accesses are allowed.
Bootstrapped on arm-linux-gnueabihf. Tested arm-none-eabi on qemu. Ok for trunk and 4.8? Thanks, Kyrill 2013-08-08 Kyrylo Tkachov <kyrylo.tkac...@arm.com> * config/arm/neon.md (movmisalign<mode>): Disable when we don't allow unaligned accesses. (*movmisalign<mode>_neon_store): Likewise. (*movmisalign<mode>_neon_load): Likewise. (*movmisalign<mode>_neon_store): Likewise. (*movmisalign<mode>_neon_load): Likewise.
neon_unaligned.patch
Description: Binary data