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]
Other format: [Raw text]

Question about IA64 GO_IF_LEGITIMATE_ADDRESS - probable bug?



The IA64 GO_IF_LEGITIMATE_ADDRESS 	macro has a fragment of the form


   else if (GET_CODE (X) == POST_MODIFY					\
	   && LEGITIMATE_ADDRESS_REG (XEXP (X, 0))			\
	   && XEXP (X, 0) != arg_pointer_rtx				\
	   && LEGITIMATE_ADDRESS_DISP (XEXP (X, 0), XEXP (X, 1)))	\
     goto LABEL;								\



But LEGITIMATE_ADDRESS_DISP only succeeds if its first argument is a PLUS,
and LEGITIMATE_ADDRESS_REG only succeeds if its argument is a REG or a SUBREG

So, this POST_MODIFY will ALWAYS fail because XEXP (X,0) can't be 
both a PLUS and
be a REG or SUBREG.


-- 
		    Quality Software Management
		http://home.earthlink.net/~qsmgmt
		          apl@alum.mit.edu
		          (978)287-0435 Voice
		          (978)808-6836 Cell

	Software Process Improvement / Management Consulting
	     Language Design / Compiler Implementation


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