From 8c2b2faee5255407a95c55b5d4a76f16b74cb5d0 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 16 Sep 2010 08:34:12 +0200 Subject: [PATCH] * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD. From-SVN: r164328 --- gcc/ChangeLog | 32 ++++++++++++++++---------------- gcc/config/i386/i386.h | 27 +++++++++++---------------- gcc/testsuite/ChangeLog | 2 +- 3 files changed, 28 insertions(+), 33 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 184894a0b91..a56ebaf9d0d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-09-16 Uros Bizjak + + * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD. + 2010-09-15 Eric Botcazou PR rtl-optimization/45593 @@ -84,7 +88,7 @@ is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes. 2010-09-15 Olivier Hainque - Jose Ruiz + Jose Ruiz * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define. * config/alpha/osf5-unwind.h: New file. @@ -92,8 +96,7 @@ 2010-09-14 H.J. Lu PR bootstrap/45672 - * config/mips/mips.c (mips_units_per_simd_word): Correct return - type. + * config/mips/mips.c (mips_units_per_simd_word): Correct return type. * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise. * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise. @@ -144,8 +147,7 @@ * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed. - * config/i386/i386.c (ix86_units_per_simd_word): Make it - static. + * config/i386/i386.c (ix86_units_per_simd_word): Make it static. (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New. * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add @@ -207,7 +209,7 @@ PR tree-optimization/45470 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement can throw an exception. - * tree-vect-stmts.c (vectorizable_call): Likewise. + * tree-vect-stmts.c (vectorizable_call): Likewise. 2010-09-14 DJ Delorie @@ -284,9 +286,9 @@ 2010-09-13 Marcus Shawcroft * config/arm/arm.md: (define_attr "conds"): Update comment. - * config/arm/sync.md (arm_sync_compare_and_swapsi): Change + * config/arm/sync.md (arm_sync_compare_and_swapsi): Change conds attribute to clob. - (arm_sync_compare_and_swapsi): Likewise. + (arm_sync_compare_and_swapsi): Likewise. (arm_sync_compare_and_swap): Likewise. (arm_sync_lock_test_and_setsi): Likewise. (arm_sync_lock_test_and_set): Likewise. @@ -301,9 +303,9 @@ 2010-09-13 Olivier Hainque - * fwprop.c (forward_propagate_and_simplify): Only attach a + * fwprop.c (forward_propagate_and_simplify): Only attach a REG_EQUAL note to an insn if the destination is a register. - * gcse.c (try_replace_reg): Likewise. + * gcse.c (try_replace_reg): Likewise. 2010-09-13 Richard Guenther @@ -379,8 +381,7 @@ 2010-09-10 Richard Guenther - * tree.c (type_hash_eq): For ARRAY_TYPEs also compare - TYPE_SIZE. + * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE. (build_index_type): Implement in terms of build_range_type. (build_range_type): Do not allow NULL_TREE type, improve hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P @@ -395,10 +396,9 @@ 2010-09-10 Ramana Radhakrishnan - * config/arm/neon-schedgen.ml (allCores): Add support for - Cortex-A9. - * config/arm/cortex-a9-neon.md: New and partially generated. - * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon. + * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9. + * config/arm/cortex-a9-neon.md: New and partially generated. + * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon. 2010-09-10 Richard Guenther diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index fe48efd1806..1b735cb0720 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1456,26 +1456,21 @@ enum reg_class of the first local allocated. */ #define STARTING_FRAME_OFFSET 0 -/* If we generate an insn to push BYTES bytes, - this says how many the stack pointer really advances by. - On 386, we have pushw instruction that decrements by exactly 2 no - matter what the position was, there is no pushb. - But as CIE data alignment factor on this arch is -4, we need to make - sure all stack pointer adjustments are in multiple of 4. +/* If we generate an insn to push BYTES bytes, this says how many the stack + pointer really advances by. On 386, we have pushw instruction that + decrements by exactly 2 no matter what the position was, there is no pushb. - For 64bit ABI we round up to 8 bytes. - */ + But as CIE data alignment factor on this arch is -4 for 32bit targets + and -8 for 64bit targets, we need to make sure all stack pointer adjustments + are in multiple of 4 for 32bit targets and 8 for 64bit targets. */ #define PUSH_ROUNDING(BYTES) \ - (TARGET_64BIT \ - ? (((BYTES) + 7) & (-8)) \ - : (((BYTES) + 3) & (-4))) + (((BYTES) + UNITS_PER_WORD - 1) & -UNITS_PER_WORD) -/* If defined, the maximum amount of space required for outgoing arguments will - be computed and placed into the variable - `crtl->outgoing_args_size'. No space will be pushed onto the - stack for each call; instead, the function prologue should increase the stack - frame size by this amount. +/* If defined, the maximum amount of space required for outgoing arguments + will be computed and placed into the variable `crtl->outgoing_args_size'. + No space will be pushed onto the stack for each call; instead, the + function prologue should increase the stack frame size by this amount. MS ABI seem to require 16 byte alignment everywhere except for function prologue and apilogue. This is not possible without diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e41832bda1d..6f8f84a11e1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -38,7 +38,7 @@ Merge from 'apple/trunk' branch on FSF servers. - 2006-03-09 Fariborz Jahanian + 2006-03-09 Fariborz Jahanian Radar 4457381 * objc.dg/msg-in-protocol.m: New.