ICE happens with 4.3, 4.4 and 4.5. ICE doesn't happen with eabi target. $ ./xgcc -v Using built-in specs. Target: arm-unknown-linux-gnu Configured with: ../configure --target=arm-unknown-linux-gnu --prefix=/home/ryan/xtools/arm-unknown-linux-gnu --with-headers=/home/ryan/xtools/arm-unknown-linux-gnu/arm-unknown-linux-gnu/include --with-local-prefix=/home/ryan/xtools/arm-unknown-linux-gnu/arm-unknown-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c++ --enable-shared --enable-c99 --enable-long-long Thread model: posix gcc version 4.5.0 20100329 (experimental) [trunk revision 157802] (GCC) $ cat ~/ice.i typedef unsigned int _GCC_ATTR_ALIGN_u16t __attribute__((__mode__(__HI__))); typedef _GCC_ATTR_ALIGN_u16t _Uint16t __attribute__((__aligned__(8))); typedef _Uint16t uint16_t; typedef __builtin_neon_uhi uint16x4_t __attribute__ ((__vector_size__ (8))); __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vdup_n_u16 (uint16_t __a) { return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } void test() { uint16x4_t vec_test = vdup_n_u16(0); } $ ./xgcc -B. -mfpu=neon -mfloat-abi=softfp ~/ice.i -c /home/ryan/ice.i: In function 'test': /home/ryan/ice.i:6:50: internal compiler error: in copy_to_mode_reg, at explow.c:635 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
-- Summary: ICE in copy_to_mode_reg, at explow.c:635 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rmansfield at qnx dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: arm-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43588