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]

64-bit PowerPC lwa alignment


	* rs6000.c (lwa_operand): Address must be word aligned.

Index: rs6000.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.167.2.13
diff -c -p -r1.167.2.13 rs6000.c
*** rs6000.c	2001/09/10 18:06:26	1.167.2.13
--- rs6000.c	2001/09/24 23:02:48
*************** lwa_operand (op, mode)
*** 1249,1255 ****
    return gpc_reg_operand (inner, mode)
      || (memory_operand (inner, mode)
  	&& GET_CODE (XEXP (inner, 0)) != PRE_INC
! 	&& GET_CODE (XEXP (inner, 0)) != PRE_DEC);
  }
  
  /* Return 1 if the operand, used inside a MEM, is a valid first argument
--- 1249,1258 ----
    return gpc_reg_operand (inner, mode)
      || (memory_operand (inner, mode)
  	&& GET_CODE (XEXP (inner, 0)) != PRE_INC
! 	&& GET_CODE (XEXP (inner, 0)) != PRE_DEC
! 	&& (GET_CODE (XEXP (inner, 0)) != PLUS
! 	    || (GET_CODE (XEXP (XEXP (inner, 0), 1)) == CONST_INT
! 		&& INTVAL (XEXP (XEXP (inner, 0), 1)) % 4 == 0)));
  }
  
  /* Return 1 if the operand, used inside a MEM, is a valid first argument


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