[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