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