diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-25 06:28:09 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-25 06:28:09 -0400 |
commit | 3b998c11fb4b43c4547bb7aa3f714ce89fe0c922 (patch) | |
tree | 20a3a7c01f2515050b05f012690cb27e34ff094a /gcc/explow.c | |
parent | 1ce634c39faa75856b8a0468b6f39943a6c8e687 (diff) | |
download | gcc-3b998c11fb4b43c4547bb7aa3f714ce89fe0c922.zip gcc-3b998c11fb4b43c4547bb7aa3f714ce89fe0c922.tar.gz gcc-3b998c11fb4b43c4547bb7aa3f714ce89fe0c922.tar.bz2 |
*** empty log message ***
From-SVN: r1079
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 50b0582..c01c21b 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -846,14 +846,18 @@ allocate_dynamic_stack_space (size, target, known_align) #ifdef MUST_ALIGN - if (GET_CODE (size) == CONST_INT) - size = gen_rtx (CONST_INT, VOIDmode, - INTVAL (size) + (BIGGEST_ALIGNMENT / BITS_PER_UNIT - 1)); - else - size = expand_binop (Pmode, add_optab, size, - gen_rtx (CONST_INT, VOIDmode, - BIGGEST_ALIGNMENT / BITS_PER_UNIT - 1), - 0, 1, OPTAB_LIB_WIDEN); + if (known_align % BIGGEST_ALIGNMENT != 0) + { + if (GET_CODE (size) == CONST_INT) + size = gen_rtx (CONST_INT, VOIDmode, + (INTVAL (size) + + (BIGGEST_ALIGNMENT / BITS_PER_UNIT - 1))); + else + size = expand_binop (Pmode, add_optab, size, + gen_rtx (CONST_INT, VOIDmode, + BIGGEST_ALIGNMENT / BITS_PER_UNIT - 1), + 0, 1, OPTAB_LIB_WIDEN); + } #endif #ifdef SETJMP_VIA_SAVE_AREA |