[PATCH]: Fix 68HC12 auto inc/dec memory move splits

Stephane Carrez stcarrez@nerim.fr
Fri Jun 28 13:41:00 GMT 2002


Hi!

For 68HC12 the split of 32/64 bit moves was incorrect when the addressing
mode uses auto increment/decrement modes.  Since all auto modes are possible,
they are not compatible together for the split (m68K has similar problem
for 64-bit moves).  After the split, a REG_INC note is necessary otherwise
the CSE reg pass can delete some insn (when a scratch register is used for the move).

The following patch fixes all that.  I've committed it on mainline and 3_1 branch.

	Stephane

2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>

	* config/m68hc11/m68hc11.c (autoinc_mode): New function.
	(m68hc11_make_autoinc_notes): New function.
	(m68hc11_split_move): Be very cautious when spliting a move with
	auto increment/decrement modes because this may result in incompatible
	directions; add REG_INC notes to the resulting insn for CSE reg.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: m68hc11.c.diffs
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20020628/cd8ea75a/attachment.ksh>


More information about the Gcc-patches mailing list