https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040

--- Comment #6 from Carrot <carrot at google dot com> ---
Even more simplified test case for gcc4.9, but it doesn't trigger the error for
trunk.


typedef __builtin_aarch64_simd_udi uint64x1
  __attribute__ ((__vector_size__ (8)));
typedef __builtin_aarch64_simd_udi uint64x2
  __attribute__ ((__vector_size__ (16)));

__extension__ static __inline uint64x2 __attribute__ ((__always_inline__))
vcombine_u64 (uint64x1 __a, uint64x1 __b)
{
  return (uint64x2) __builtin_aarch64_combinedi (__a[0], __b[0]);
}

extern bar(uint64x2 out0);

void foo(short* out) {
  uint64x1 tmp0;
  uint64x2 row = vcombine_u64(tmp0, tmp0);

  bar(row);
}

Reply via email to