'nother 64bit mips16 patch

Gavin Koch gavin@cygnus.com
Tue Feb 10 09:57:00 GMT 1998


For the 4100 -mips16, the following testcase aborts in
emit_move_insn when it check for compatible modes.  

OK to push?
                             -gavin...



./cc1 xx.c -quiet -mips16 -O1 -w -o xx.s 

long long x=0;y(){x=0;}



	* mips/mips.md (movdi): These PLUS's need to be Pmode.

Index: mips.md
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/config/mips/mips.md,v
retrieving revision 1.95
diff -c -r1.95 mips.md
*** mips.md	1998/01/23 07:20:09	1.95
--- mips.md	1998/02/07 15:36:33
***************
*** 4510,4516 ****
  	    }
  
  	  emit_move_insn (operands[0],
! 			  gen_rtx (PLUS, SImode, base_reg,
  				   mips16_gp_offset (operands[1])));
  	  DONE;
  	}
--- 4510,4516 ----
  	    }
  
  	  emit_move_insn (operands[0],
! 			  gen_rtx (PLUS, Pmode, base_reg,
  				   mips16_gp_offset (operands[1])));
  	  DONE;
  	}
***************
*** 4902,4908 ****
  	  emit_move_insn (base_reg, mips16_gp_pseudo_reg ());
  
  	  emit_move_insn (operands[0],
! 			  gen_rtx (PLUS, SImode, base_reg,
  				   mips16_gp_offset (operands[1])));
  	  DONE;
  	}
--- 4902,4908 ----
  	  emit_move_insn (base_reg, mips16_gp_pseudo_reg ());
  
  	  emit_move_insn (operands[0],
! 			  gen_rtx (PLUS, Pmode, base_reg,
  				   mips16_gp_offset (operands[1])));
  	  DONE;
  	}



More information about the Gcc mailing list