Following test code -- test.c ------------------------------- typedef struct { int x; int y[16]; } ta; typedef struct { int y[16]; } tb; void f (tb *b) { int i, j; ta *a; for (i=0, j=a->x; i<j; i++) b->y[i] = a->y[i]; } -----------------------------------------
when compiled with ----------------------------------------- gcc -O1 -ftree-vectorize -S test.c -o test.s ----------------------------------------- using ----------------------------------------- $ gcc -v Using built-in specs. Configured with: ../../../gcc-CVS-20050107/gcc-CVS-20050107/configure --host=i786-pc-linux-gnu --prefix=/usr/local/opt/gcc-4.0 --exec-prefix=/usr/local/opt/gcc-4.0 --sysconfdir=/etc --libdir=/usr/local/opt/gcc-4.0/lib --libexecdir=/usr/local/opt/gcc-4.0/libexec --sharedstatedir=/var --localstatedir=/var --program-suffix=-4.0 --with-x-includes=/usr/X11R6/include --with-x-libraries=/usr/X11R6/lib --enable-shared --enable-static --with-gnu-as --with-gnu-ld --with-stabs --enable-threads=posix --enable-version-specific-runtime-libs --disable-coverage --enable-gather-detailed-mem-stats --disable-libgcj --disable-checking --enable-multilib --with-x --enable-cmath --enable-libstdcxx-debug --enable-fast-character --enable-hash-synchronization --with-system-zlib --with-libbanshee --with-demangler-in-ld --with-arch=athlon-xp --enable-libada --enable-languages=c,c++,f95,objc,ada Thread model: posix gcc version 4.0.0 20050107 (experimental) $ ----------------------------------------- gives ----------------------------------------- test.c: In function 'f': test.c:7: error: unrecognizable insn: (insn 69 68 70 6 (set (reg:V4SI 94) (vec_concat:V4SF (mem:V2SF (reg:SI 64 [ ivtmp.66 ]) [0 S8 A8]) (vec_select:V2SF (reg:V4SI 94) (parallel [ (const_int 2 [0x2]) (const_int 3 [0x3]) ])))) -1 (insn_list:REG_DEP_TRUE 68 (nil)) (nil)) test.c:7: internal compiler error: in extract_insn, at recog.c:2020 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. ----------------------------------------- Works on x86_64 arch. (compiled by the native gcc compiled from the same sources as the one mentioned above). -- Summary: Compilation with -O1 -ftree-vectorize gives unrecognizable insn on x86. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P1 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: drab at kepler dot fjfi dot cvut dot cz CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19350