From 200097cc9a3d0355c61c8630a03e991563f91104 Mon Sep 17 00:00:00 2001 From: Stephane Carrez Date: Thu, 16 Jan 2003 23:12:39 +0100 Subject: [PATCH] m68hc11.c (m68hc11_check_z_replacement): Fix handling 68HC12 pre/post inc/dec side effects. * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling 68HC12 pre/post inc/dec side effects. From-SVN: r61410 --- gcc/ChangeLog | 5 +++++ gcc/config/m68hc11/m68hc11.c | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 93446796999b..2cbeff1fcf73 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-16 Stephane Carrez + + * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling + 68HC12 pre/post inc/dec side effects. + 2003-01-16 Stephane Carrez * config/m68hc11/m68hc11.h (MASK_M6812): Define. diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index e7626a233051..a45b4cac4f3c 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -4341,7 +4341,13 @@ m68hc11_check_z_replacement (insn, info) info->z_died = 1; info->need_save_z = 0; } - else + else if (TARGET_M6812 && side_effects_p (src)) + { + info->last = 0; + info->must_restore_reg = 0; + return 0; + } + else { info->save_before_last = 1; } @@ -4418,7 +4424,13 @@ m68hc11_check_z_replacement (insn, info) info->z_died = 1; info->need_save_z = 0; } - else + else if (TARGET_M6812 && side_effects_p (src)) + { + info->last = 0; + info->must_restore_reg = 0; + return 0; + } + else { info->save_before_last = 1; }