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

[rx] extend mode-dependent address offsets


All RX opcodes which take a dsp:8 also take a dsp:16 so we can relax
this offset check.  Committed.

	* config/rx/rx.c (rx_mode_dependent_address_p): Allow offsets up
	to 16 bits.

Index: config/rx/rx.c
===================================================================
--- config/rx/rx.c	(revision 204792)
+++ config/rx/rx.c	(working copy)
@@ -341,15 +341,15 @@ rx_mode_dependent_address_p (const_rtx a
 	case REG:
 	  /* REG+REG only works in SImode.  */
 	  return true;
 
 	case CONST_INT:
 	  /* REG+INT is only mode independent if INT is a
-	     multiple of 4, positive and will fit into 8-bits.  */
+	     multiple of 4, positive and will fit into 16-bits.  */
 	  if (((INTVAL (addr) & 3) == 0)
-	      && IN_RANGE (INTVAL (addr), 4, 252))
+	      && IN_RANGE (INTVAL (addr), 4, 0xfffc))
 	    return false;
 	  return true;
 
 	case SYMBOL_REF:
 	case LABEL_REF:
 	  return true;


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