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