* config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
authorclm <clm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Oct 2001 14:03:29 +0000 (14:03 +0000)
committerclm <clm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Oct 2001 14:03:29 +0000 (14:03 +0000)
        * config/stormy16/stormy16.c (stormy16_split_move):  Make
        sure that REG_INC notes are present for auto_inc operands.

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

gcc/ChangeLog
gcc/config/stormy16/stormy16.c
gcc/config/stormy16/stormy16.h

index 8a6d4d9..d8acd6c 100644 (file)
@@ -1,3 +1,10 @@
+2001-10-19  Catherine Moore  <clm@redhat.com>
+
+        * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
+
+       * config/stormy16/stormy16.c (stormy16_split_move):  Make
+       sure that REG_INC notes are present for auto_inc operands.
+
 2001-10-19  Andreas Jaeger  <aj@suse.de>
 
         * configure: Regenerated.
index 5847e2a..096797a 100644 (file)
@@ -641,6 +641,7 @@ stormy16_split_move (mode, dest, src)
   int src_volatile = 0;
   int dest_volatile = 0;
   rtx mem_operand;
+  rtx auto_inc_reg_rtx = NULL_RTX;
   
   /* Check initial conditions.  */
   if (! reload_completed
@@ -673,6 +674,8 @@ stormy16_split_move (mode, dest, src)
     {
       mem_operand = XEXP (dest, 0);
       dest_modifies = side_effects_p (mem_operand);
+      if (auto_inc_p (mem_operand))
+        auto_inc_reg_rtx = XEXP (mem_operand, 0);
       dest_volatile = MEM_VOLATILE_P (dest);
       if (dest_volatile)
        {
@@ -684,6 +687,8 @@ stormy16_split_move (mode, dest, src)
     {
       mem_operand = XEXP (src, 0);
       src_modifies = side_effects_p (mem_operand);
+      if (auto_inc_p (mem_operand))
+        auto_inc_reg_rtx = XEXP (mem_operand, 0);
       src_volatile = MEM_VOLATILE_P (src);
       if (src_volatile)
        {
@@ -733,7 +738,8 @@ stormy16_split_move (mode, dest, src)
   end = direction < 0 ? -1 : num_words;
   for (i = direction < 0 ? num_words - 1 : 0; i != end; i += direction)
     {
-      rtx w_src, w_dest;
+      rtx w_src, w_dest, insn;
+
       if (src_modifies)
        w_src = gen_rtx_MEM (word_mode, mem_operand);
       else
@@ -753,7 +759,11 @@ stormy16_split_move (mode, dest, src)
          || GET_CODE (w_dest) == SUBREG)
        abort ();
       
-      emit_insn (gen_rtx_SET (VOIDmode, w_dest, w_src));
+      insn = emit_insn (gen_rtx_SET (VOIDmode, w_dest, w_src));
+      if (auto_inc_reg_rtx)
+        REG_NOTES (insn) = alloc_EXPR_LIST (REG_INC,
+                                            auto_inc_reg_rtx,
+                                           REG_NOTES (insn));
     }
 }
 
index 9a4e139..0372d1c 100644 (file)
@@ -146,6 +146,9 @@ Boston, MA 02111-1307, USA.  */
 
    Defined in svr4.h.  */
 #undef LIB_SPEC
+#if 0
+#define LIB_SPEC "-( -lc %{msim:-lsim}%{!msim:-leva_app -lnosys} -)"
+#endif
 #define LIB_SPEC "-( -lc %{msim:-lsim} -)"
 
 /* Another C string constant that tells the GNU CC driver program how and when
@@ -3620,7 +3623,7 @@ do {                                                      \
 /* A C string constant describing how to begin a comment in the target
    assembler language.  The compiler assumes that the comment will end at the
    end of the line.  */
-/* #define ASM_COMMENT_START */
+#define ASM_COMMENT_START ";"
 
 /* A C string constant for text to be output before each `asm' statement or
    group of consecutive ones.  Normally this is `"#APP"', which is a comment