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.

Reply via email to