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

Reply via email to