* config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
* config/rs6000/rs6000.c (rs6000_field_alignment): Move...
* config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
macro.
From-SVN: r56131
+2002-08-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
+ * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
+ * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
+ macro.
+
2002-08-08 Adam Nemet <anemet@lnxw.com>
* config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
int *, int));
extern struct rtx_def *rs6000_va_arg PARAMS ((tree, tree));
extern void output_mi_thunk PARAMS ((FILE *, tree, int, tree));
-extern int rs6000_field_alignment PARAMS ((tree, int));
#ifdef ARGS_SIZE_RTX
/* expr.h defines ARGS_SIZE_RTX and `enum direction' */
extern enum direction function_arg_padding PARAMS ((enum machine_mode, tree));
&& ! DECL_WEAK (decl))
SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1;
}
-
-int
-rs6000_field_alignment (field, computed)
- tree field;
- int computed;
-{
- tree type = get_inner_array_type (field);
-
- if (DEFAULT_ABI == ABI_V4)
- {
- if (TARGET_ALTIVEC && TREE_CODE (type) == VECTOR_TYPE)
- return 128;
- }
- else
- {
- if (TYPE_MODE (type) == DFmode)
- return MIN (32, computed);
- }
-
- return computed;
-}
/* Most ABIs word-align FP doubles but doubleword-align 64-bit ints. */
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
- rs6000_field_alignment ((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 vector constants quadword aligned. */