[Bug target/15286] ICE cause by reload

uweigand at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Oct 25 21:04:00 GMT 2004


------- Additional Comments From uweigand at gcc dot gnu dot org  2004-10-25 21:04 -------
well, as pointed out by David you do need in addition the change I 
described in comment #20.

If you prefer a patch:

Index: gcc/recog.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/recog.c,v
retrieving revision 1.211
diff -c -p -r1.211 recog.c
*** gcc/recog.c 28 Sep 2004 07:59:48 -0000      1.211
--- gcc/recog.c 25 Oct 2004 21:02:03 -0000
*************** general_operand (rtx op, enum machine_mo
*** 937,943 ****
  #ifdef INSN_SCHEDULING
        /* On machines that have insn scheduling, we want all memory
         reference to be explicit, so outlaw paradoxical SUBREGs.  */
!       if (MEM_P (sub)
          && GET_MODE_SIZE (mode) > GET_MODE_SIZE (GET_MODE (sub)))
        return 0;
  #endif
--- 937,943 ----
  #ifdef INSN_SCHEDULING
        /* On machines that have insn scheduling, we want all memory
         reference to be explicit, so outlaw paradoxical SUBREGs.  */
!       if (!reload_completed && MEM_P (sub)
          && GET_MODE_SIZE (mode) > GET_MODE_SIZE (GET_MODE (sub)))
        return 0;
  #endif


-- 


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



More information about the Gcc-bugs mailing list