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.

Attachment: neon_unaligned.patch
Description: Binary data

Reply via email to