[Bug target/14981] New: ICE in _mm_xor_pd for SSE2 with -O1

davide dot rossetti at roma1 dot infn dot it gcc-bugzilla@gcc.gnu.org
Fri Apr 16 18:54:00 GMT 2004


tried on snapshot 3.4-20040414 but exists since 3.4-20040218
3.3.2 20040108 (Red Hat Linux 3.3.2-6) is OK
CVS HEAD from 3.5 is OK

ICE is:
gcc_snapshot/build/bin/gcc -v -save-temps -O1 -S -msse2 -mfpmath=sse v2dfxor3.c
...
 /beatle/home1/sw/gcc_snapshot/build/libexec/gcc/i686-pc-linux-gnu/3.4.0/cc1
-fpreprocessed v2dfxor3.i -quiet -dumpbase v2dfxor3.c -msse2 -mfpmath=sse
-mtune=pentiumpro -auxbase v2dfxor3 -O1 -version -o v2dfxor3.s
GNU C version 3.4.0 20040414 (prerelease) (i686-pc-linux-gnu)
        compiled by GNU C version 3.3.2 20040108 (Red Hat Linux 3.3.2-6).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64266
v2dfxor3.c: In function `xorv2df3':
v2dfxor3.c:10: internal compiler error: in immed_double_const, at emit-rtl.c:481
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

it is caused by immed_double_const() mistakenly been called by
simplify_immed_subreg(). the latter is not ready to take TImode in outer_class ...


the test is not worth an attachment:

#include <emmintrin.h>
__v2df res;
void xorv2df3(double *x)
{
        __v2df    temp0={x[0],x[1]};
	__v2df    temp1={0x0, 0x0};
        res = _mm_xor_pd(temp0, temp1);
}

-- 
           Summary: ICE in _mm_xor_pd for SSE2  with -O1
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: davide dot rossetti at roma1 dot infn dot it
                CC: alessandro dot lonardo at roma1 dot infn dot it,gcc-bugs
                    at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu-gcc-3.4.0
  GCC host triplet: i686-pc-linux-gnu-gcc-3.4.0
GCC target triplet: i686-pc-linux-gnu-gcc-3.4.0


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



More information about the Gcc-bugs mailing list