On i686-pc-linux-gnu with current gcc-4.0.x, I'm getting a failure in
g++.dg/opt/mmx2.C:
http://gcc.gnu.org/ml/gcc-testresults/2005-11/msg01435.html

I think it's triggered by turning on checking, because I don't see other people
getting the error.  I configured with: --enable-checking=yes,rtl

I get an ICE here:

Program received signal SIGSEGV, Segmentation fault.
memory_operand (op=0xabababab, mode=VOIDmode) at
../../egcc-4.0-SVN20051130/gcc/recog.c:1279
1279      if (GET_CODE (inner) == SUBREG)

Here the variable "inner" is set to op which is a parameter to the function
memory_operand().  And memory_operand() is passed operands[2] from
get_attr_memory().  The value is 0xabababab, i.e. uninitialized garbage.

In insn-extract.c, only if checking is enabled, the function insn_extract
memsets recog_data.operand ("operands" is a macro for this) to 0xab so that any
uninitialized areas get this value.

I don't see this failure with 4.1 or mainline.


-- 
           Summary: [4.0] enable checking failure in g++.dg/opt/mmx2.C
           Product: gcc
           Version: 4.0.3
            Status: UNCONFIRMED
          Keywords: ice-checking, ssemmx
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ghazi at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to