http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54051
Bug #: 54051 Summary: Invalid alignment specifier generated for vld3_lane_* and vld3_dup_* intrinsics. Classification: Unclassified Product: gcc Version: 4.7.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: ram...@gcc.gnu.org ReportedBy: ram...@gcc.gnu.org Target: arm-*-*eabi Build: x86* #include <arm_neon.h> int32_t a __attribute__ ((aligned (64))); int32x2x3_t test (void) { return vld3_dup_s32 (&a); } int32x2x3_t test1 (void) { int32x2x3_t res ; return vld3_lane_s32 (&a, res, 1); } /tmp/ccdQ3KCr.s: Assembler messages: /tmp/ccdQ3KCr.s:24: Error: can't use alignment with this instruction -- `vld3.32 {d16[],d17[],d18[]},[r3:64]' /tmp/ccdQ3KCr.s:50: Error: can't use alignment with this instruction -- `vld3.32 {d16[1],d17[1],d18[1]},[r3:64]' This can be traced to the use of the Alignment specifiers in the appropriate patterns and that needs to be fixed up.