This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/53433] [4.8 Regression] ICE in int_mode_for_mode, at stor-layout.c:424 during lto-bootstrap


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

--- Comment #24 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-04 11:16:20 UTC ---
The hint in comment #5 together with your analysis points at the initializer
in insn-output.c:

const struct insn_data_d insn_data[] =
{
...
  /* /space/rguenther/src/svn/trunk/gcc/config/i386/i386.md:16008 */
  {
    "cmpstrnsi",
#if HAVE_DESIGNATED_UNION_INITIALIZERS
    { 0 },
#else
    { 0, 0, 0 },
#endif
    (insn_gen_fn) gen_cmpstrnsi,
    &operand_data[5173],
    5,
    5,
    0,
    0,
    0
  },

and operand_data in 

static const struct insn_operand_data operand_data[] =
{
...
  {
    0,
    "",
    VOIDmode,
    0,
    0,
    1,
    0
  },
  {  <--- should be this
    register_operand,
    "",
    SImode,
    0,
    0,
    1,
    0
  },
  {
    general_operand,
    "",
    BLKmode,
    0,
    0,
    1,
    1
  },

so maybe there is an off-by-one error somewhere in constant folding from
initializers?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]