Commit 3b85fe5f by Jakub Jelinek Committed by Jakub Jelinek

rs6000.h, [...]: Revert last two patches.

	* config/rs6000/rs6000.h, config/rs6000/aix.h,
	config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
	two patches.
	* config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.

From-SVN: r56135
parent e10c79fe
2002-08-08 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/rs6000.h, config/rs6000/aix.h,
config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
two patches.
* config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
2002-08-08 Lars Brinkhoff <lars@nocrew.org> 2002-08-08 Lars Brinkhoff <lars@nocrew.org>
Richard Henderson <rth@redhat.com> Richard Henderson <rth@redhat.com>
......
...@@ -128,6 +128,13 @@ Boston, MA 02111-1307, USA. */ ...@@ -128,6 +128,13 @@ Boston, MA 02111-1307, USA. */
#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\ #define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
%{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc" %{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc"
/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
? get_inner_array_type (FIELD) \
: TREE_TYPE (FIELD)) == DFmode \
? MIN ((COMPUTED), 32) : (COMPUTED))
/* AIX increases natural record alignment to doubleword if the first /* AIX increases natural record alignment to doubleword if the first
field is an FP double while the FP fields remain word aligned. */ field is an FP double while the FP fields remain word aligned. */
#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \ #define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \
......
...@@ -196,6 +196,13 @@ Boston, MA 02111-1307, USA. */ ...@@ -196,6 +196,13 @@ Boston, MA 02111-1307, USA. */
/* Fix for emit_group_load (): force large constants to be pushed via regs. */ /* Fix for emit_group_load (): force large constants to be pushed via regs. */
#define ALWAYS_PUSH_CONSTS_USING_REGS_P 1 #define ALWAYS_PUSH_CONSTS_USING_REGS_P 1
/* Darwin word-aligns FP doubles but doubleword-aligns 64-bit ints. */
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
? get_inner_array_type (FIELD) \
: TREE_TYPE (FIELD)) == DFmode \
? MIN ((COMPUTED), 32) : (COMPUTED))
/* Darwin increases natural record alignment to doubleword if the first /* Darwin increases natural record alignment to doubleword if the first
field is an FP double while the FP fields remain word aligned. */ field is an FP double while the FP fields remain word aligned. */
#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \ #define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED) \
......
...@@ -72,6 +72,13 @@ Boston, MA 02111-1307, USA. */ ...@@ -72,6 +72,13 @@ Boston, MA 02111-1307, USA. */
#define USER_LABEL_PREFIX "" #define USER_LABEL_PREFIX ""
/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
? get_inner_array_type (FIELD) \
: TREE_TYPE (FIELD)) == DFmode \
? MIN ((COMPUTED), 32) : (COMPUTED))
/* AIX increases natural record alignment to doubleword if the first /* AIX increases natural record alignment to doubleword if the first
field is an FP double while the FP fields remain word aligned. */ field is an FP double while the FP fields remain word aligned. */
#undef ROUND_TYPE_ALIGN #undef ROUND_TYPE_ALIGN
......
...@@ -631,15 +631,6 @@ extern int rs6000_default_long_calls; ...@@ -631,15 +631,6 @@ extern int rs6000_default_long_calls;
/* A bitfield declared as `int' forces `int' alignment for the struct. */ /* A bitfield declared as `int' forces `int' alignment for the struct. */
#define PCC_BITFIELD_TYPE_MATTERS 1 #define PCC_BITFIELD_TYPE_MATTERS 1
/* Most ABIs word-align FP doubles but doubleword-align 64-bit ints. */
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(DEFAULT_ABI == ABI_V4 \
? ((TARGET_ALTIVEC \
&& TREE_CODE (get_inner_array_type (FIELD)) == VECTOR_TYPE) \
? 128 : (COMPUTED)) \
: ((TYPE_MODE (get_inner_array_type (FIELD)) == DFmode) \
? MIN (32, (COMPUTED)) : (COMPUTED)))
/* Make strings word-aligned so strcpy from constants will be faster. /* Make strings word-aligned so strcpy from constants will be faster.
Make vector constants quadword aligned. */ Make vector constants quadword aligned. */
#define CONSTANT_ALIGNMENT(EXP, ALIGN) \ #define CONSTANT_ALIGNMENT(EXP, ALIGN) \
......
...@@ -380,6 +380,12 @@ do { \ ...@@ -380,6 +380,12 @@ do { \
/* Real stack boundary as mandated by the appropriate ABI. */ /* Real stack boundary as mandated by the appropriate ABI. */
#define ABI_STACK_BOUNDARY ((TARGET_EABI && !TARGET_ALTIVEC_ABI) ? 64 : 128) #define ABI_STACK_BOUNDARY ((TARGET_EABI && !TARGET_ALTIVEC_ABI) ? 64 : 128)
/* An expression for the alignment of a structure field FIELD if the
alignment computed in the usual way is COMPUTED. */
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
((TARGET_ALTIVEC && TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE) \
? 128 : COMPUTED)
/* Define this macro as an expression for the alignment of a type /* Define this macro as an expression for the alignment of a type
(given by TYPE as a tree node) if the alignment computed in the (given by TYPE as a tree node) if the alignment computed in the
usual way is COMPUTED and the alignment explicitly specified was usual way is COMPUTED and the alignment explicitly specified was
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment