From: Jakub Jelinek Date: Thu, 8 Aug 2002 14:51:47 +0000 (+0200) Subject: rs6000-protos.h (rs6000_field_alignment): Remove. X-Git-Tag: releases/gcc-3.2.0~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=31c94a3bd04eac3e96a380ae857e4af870a6a5f5;p=thirdparty%2Fgcc.git rs6000-protos.h (rs6000_field_alignment): Remove. * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18634ed04db3..3a20aa984ff0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-08-08 Jakub Jelinek + + * 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 * stor-layout.c (place_union_field): For bitfields if diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h index 83f7f21550f0..19aeb07b9e0c 100644 --- a/gcc/config/rs6000/rs6000-protos.h +++ b/gcc/config/rs6000/rs6000-protos.h @@ -147,7 +147,6 @@ extern void output_mi_thunk PARAMS ((FILE *, tree, int, tree)); 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)); diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 0f6b1462eb9b..7940315fc4bb 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -11534,24 +11534,3 @@ xcoff_asm_named_section (name, flags) 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; -} diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index ecdc1109ba9a..be1028976217 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -640,7 +640,12 @@ extern int rs6000_altivec_abi; /* 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. */