diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2003-01-16 23:12:39 +0100 |
---|---|---|
committer | Stephane Carrez <ciceron@gcc.gnu.org> | 2003-01-16 23:12:39 +0100 |
commit | 200097cc9a3d0355c61c8630a03e991563f91104 (patch) | |
tree | b2c13d76c1164cfd46f6afa92bb2a8df1ac6ff08 /gcc | |
parent | cc23546e32749f51209852efb21fdce77e30ce8b (diff) | |
download | gcc-200097cc9a3d0355c61c8630a03e991563f91104.zip gcc-200097cc9a3d0355c61c8630a03e991563f91104.tar.gz gcc-200097cc9a3d0355c61c8630a03e991563f91104.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/m68hc11/m68hc11.c | 16 |
2 files changed, 19 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9344679..2cbeff1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2003-01-16 Stephane Carrez <stcarrez@nerim.fr> + * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling + 68HC12 pre/post inc/dec side effects. + +2003-01-16 Stephane Carrez <stcarrez@nerim.fr> + * config/m68hc11/m68hc11.h (MASK_M6812): Define. Thu Jan 16 21:50:25 2003 J"orn Rennecke <amylaar@onetel.net.uk> diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index e7626a2..a45b4ca 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; } |