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); }