diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-08-08 17:00:30 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-08-08 17:00:30 +0200 |
commit | aa2a83dc0c0614abfdeea82b0bd72e6924732022 (patch) | |
tree | 688b14141b715591f211d451b8a2bc1e1d342335 /gcc | |
parent | e26053d191e085a945f8da9bda69321a68048dc7 (diff) | |
download | gcc-aa2a83dc0c0614abfdeea82b0bd72e6924732022.zip gcc-aa2a83dc0c0614abfdeea82b0bd72e6924732022.tar.gz gcc-aa2a83dc0c0614abfdeea82b0bd72e6924732022.tar.bz2 |
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: r56131
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 21 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 7 |
4 files changed, 13 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a1311f..f79f8b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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 diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h index 3725c7f..42563d3 100644 --- a/gcc/config/rs6000/rs6000-protos.h +++ b/gcc/config/rs6000/rs6000-protos.h @@ -151,7 +151,6 @@ extern void setup_incoming_varargs PARAMS ((CUMULATIVE_ARGS *, 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)); diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 46b9161..ad99417 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -13115,24 +13115,3 @@ rs6000_xcoff_encode_section_info (decl, first) && ! 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; -} diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 77ed571..dadcc21 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -633,7 +633,12 @@ extern int rs6000_default_long_calls; /* 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. */ |