OSDN Git Service

* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
authorciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 16 Jan 2003 22:12:39 +0000 (22:12 +0000)
committerciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 16 Jan 2003 22:12:39 +0000 (22:12 +0000)
68HC12 pre/post inc/dec side effects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61410 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m68hc11/m68hc11.c

index 9344679..2cbeff1 100644 (file)
@@ -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>
index e7626a2..a45b4ca 100644 (file)
@@ -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;
                    }