From: Eric Botcazou Date: Wed, 12 Oct 2005 22:12:39 +0000 (+0200) Subject: re PR target/24284 (ICE (Segmentation fault)) X-Git-Tag: misc/cutover-cvs2svn~192 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6deb03391308dcffb9bb4a4155cd27d7e60329f9;p=thirdparty%2Fgcc.git re PR target/24284 (ICE (Segmentation fault)) PR target/24284 * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand. (gen_stack_pointer_dec): Likewise. From-SVN: r105336 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18c64b801c34..abf8908e095d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-10-12 Eric Botcazou + + PR target/24284 + * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand. + (gen_stack_pointer_dec): Likewise. + 2005-10-12 Danny Smith PR middle-end/21275 diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 011353330017..180aaa514a8f 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -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