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

Reply via email to