[Bug c/56120] New: built-in SIMD with statement expression causes ICE: in iterative_hash_expr, at tree.c:6990 when optimization is on

cjxgm at 126 dot com gcc-bugzilla@gcc.gnu.org
Sun Jan 27 06:07:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56120

             Bug #: 56120
           Summary: built-in SIMD with statement expression causes ICE: in
                    iterative_hash_expr, at tree.c:6990 when optimization
                    is on
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: cjxgm@126.com
            Target: i686-pc-linux-gnu
             Build: /build/src/gcc-4.7.2/configure --prefix=/usr
                    --libdir=/usr/lib --libexecdir=/usr/lib
                    --mandir=/usr/share/man --infodir=/usr/share/info
                    --with-bugurl=https://bugs.archlinux.org/
                    --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c
                    ++ --enable-shared --ena


The following is the code:

typedef float v4 __attribute__((vector_size(sizeof(float)*4)));
v4 v4refract(v4 n, v4 v, float ior)
{
 return n * ({ v4 __t = (n) * (v); __t[0] + __t[1] + __t[2]; });
}

the compiler output:
$ gcc -msse -O3 -c -o v.o v.c
v.c: In function 'v4refract':
v.c:5:11: internal compiler error: in iterative_hash_expr, at tree.c:6990
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.

Compilation succeeds when the optimization level is 0
but if the optimization level is above 0, whatever 1, 2 or 3, produces this
ICE.



More information about the Gcc-bugs mailing list