* 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: r56130
+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 Jakub Jelinek <jakub@redhat.com>
* stor-layout.c (place_union_field): For bitfields if
extern void rs6000_encode_section_info PARAMS ((tree));
extern void rs6000_select_section PARAMS ((tree, int));
extern void rs6000_unique_section PARAMS ((tree, int));
-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));
fprintf (asm_out_file, "\t.csect %s\n", name);
}
#endif
-
-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. */