diff options
author | ciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-16 22:12:39 +0000 |
---|---|---|
committer | ciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-01-16 22:12:39 +0000 |
commit | bbb1a791317eccd866842cb4e79b2986ca3c4619 (patch) | |
tree | b2c13d76c1164cfd46f6afa92bb2a8df1ac6ff08 /gcc | |
parent | 33643032d70f56c4e00028da8185bcac4023e646 (diff) | |
download | gcc-bbb1a791317eccd866842cb4e79b2986ca3c4619.tar.gz |
* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
68HC12 pre/post inc/dec side effects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61410 138bc75d-0d04-0410-961f-82ee72b054a4
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 93446796999..2cbeff1fcf7 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 e7626a23305..a45b4cac4f3 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; } |