http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60825
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. The problem is: typedef int64_t int64x1_t; typedef int32_t int32x1_t; typedef int16_t int16x1_t; typedef int8_t int8x1_t; typedef double float64x1_t; typedef uint64_t uint64x1_t; typedef uint32_t uint32x1_t; typedef uint16_t uint16x1_t; typedef uint8_t uint8x1_t; Those all should add __attribute__((vector_size(sizeof(type) )) to them to make them a vector of one element.