OSDN Git Service

PR target/24284
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Oct 2005 22:12:39 +0000 (22:12 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Oct 2005 22:12:39 +0000 (22:12 +0000)
* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
(gen_stack_pointer_dec): Likewise.

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

gcc/ChangeLog
gcc/config/sparc/sparc.c

index 18c64b8..abf8908 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/24284
+       * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
+       (gen_stack_pointer_dec): Likewise.
+
 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
 
        PR middle-end/21275
index 0113533..180aaa5 100644 (file)
@@ -3826,10 +3826,11 @@ gen_save_register_window (rtx increment)
 static rtx
 gen_stack_pointer_inc (rtx increment)
 {
-  if (TARGET_ARCH64)
-    return gen_adddi3 (stack_pointer_rtx, stack_pointer_rtx, increment);
-  else
-    return gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, increment);
+  return gen_rtx_SET (VOIDmode,
+                     stack_pointer_rtx,
+                     gen_rtx_PLUS (Pmode,
+                                   stack_pointer_rtx,
+                                   increment));
 }
 
 /* Generate a decrement for the stack pointer.  */
@@ -3837,10 +3838,11 @@ gen_stack_pointer_inc (rtx increment)
 static rtx
 gen_stack_pointer_dec (rtx decrement)
 {
-  if (TARGET_ARCH64)
-    return gen_subdi3 (stack_pointer_rtx, stack_pointer_rtx, decrement);
-  else
-    return gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, decrement);
+  return gen_rtx_SET (VOIDmode,
+                     stack_pointer_rtx,
+                     gen_rtx_MINUS (Pmode,
+                                    stack_pointer_rtx,
+                                    decrement));
 }
 
 /* Expand the function prologue.  The prologue is responsible for reserving