This is the mail archive of the gcc@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]

Re: more simplify_subreg aborts


:On Thu, Jun 28, 2001 at 12:14:08PM -0700, Catherine Moore wrote:
:> which eventually ends up aborting in simplify_gen_subreg because
:> the mode of labelref is VOIDmode.
:
:The label_ref should be Pmode.  Where was it created?

  It was created in the casesi pattern in v850.md.  I could experiment
  with changing it to Pmode, although alot of the ports use VOIDmode
  for calls to gen_rtx_LABEL_REF.

  I'll see how it goes...

  Catherine

Index: v850.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/v850/v850.md,v
retrieving revision 1.16
diff -p -r1.16 v850.md
*** v850.md     1999/11/08 15:40:38     1.16
--- v850.md     2001/06/28 22:46:01
***************
*** 944,950 ****
    emit_insn (gen_ashlsi3 (reg, reg, GEN_INT (TARGET_BIG_SWITCH ? 2 : 1)));
    /* Load the table address into a pseudo.  */
    emit_insn (gen_movsi (tableaddress,
!                       gen_rtx_LABEL_REF (VOIDmode, operands[3])));
    /* Add the table address to the index.  */
    emit_insn (gen_addsi3 (reg, reg, tableaddress));
    /* Load the table entry.  */
--- 944,950 ----
    emit_insn (gen_ashlsi3 (reg, reg, GEN_INT (TARGET_BIG_SWITCH ? 2 : 1)));
    /* Load the table address into a pseudo.  */
    emit_insn (gen_movsi (tableaddress,
!                       gen_rtx_LABEL_REF (Pmode, operands[3])));
    /* Add the table address to the index.  */
    emit_insn (gen_addsi3 (reg, reg, tableaddress));
    /* Load the table entry.  */


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