PATCH: Illegal operands in mips assembly code

Andrew Haley aphATpasanda.cygnus.co.uk
Tue Sep 14 07:59:00 GMT 1999


This little patch forces movsi_usw to generate

	sw      $0,0($sp)

rather than

	sw      0,0($sp)

when Operand 1 is (const_int 0).  OK?

Andrew.


1999-09-14  Andrew Haley  <aph@cygnus.com>

	* config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
	use $0 instead of 0.

Index: config/mips/mips.md
===================================================================
RCS file: /cvs/egcs/egcs/gcc/config/mips/mips.md,v
retrieving revision 1.60
diff -p -r1.60 mips.md
*** mips.md	1999/09/07 05:48:47	1.60
--- mips.md	1999/09/14 14:55:02
*************** move\\t%0,%z4\\n\\
*** 4622,4628 ****
  
    if ((INTVAL (offset) & 3) == 0
        && (mem_addr == stack_pointer_rtx || mem_addr == frame_pointer_rtx))
!     return \"sw\\t%1,%0\";
  
    return \"usw\\t%z1,%0\";
  }"
--- 4622,4628 ----
  
    if ((INTVAL (offset) & 3) == 0
        && (mem_addr == stack_pointer_rtx || mem_addr == frame_pointer_rtx))
!     return \"sw\\t%z1,%0\";
  
    return \"usw\\t%z1,%0\";
  }"


More information about the Gcc-patches mailing list