diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2013-11-22 16:39:37 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2013-11-22 16:39:37 +0000 |
commit | faee0106d8300773d7165ff1a42465ebdfcc0da9 (patch) | |
tree | 0f5b9378fd7890076172f1fbcb65104a35be308d | |
parent | e52876717c40ad1cc617dd78eb899ea0e063e1e3 (diff) | |
download | gcc-faee0106d8300773d7165ff1a42465ebdfcc0da9.zip gcc-faee0106d8300773d7165ff1a42465ebdfcc0da9.tar.gz gcc-faee0106d8300773d7165ff1a42465ebdfcc0da9.tar.bz2 |
cris.c (cris_atomic_align_for_mode): New function.
* config/cris/cris.c (cris_atomic_align_for_mode): New function.
(TARGET_ATOMIC_ALIGN_FOR_MODE): Define.
From-SVN: r205276
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/cris/cris.c | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8150db9..29e7ff4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-11-22 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.c (cris_atomic_align_for_mode): New function. + (TARGET_ATOMIC_ALIGN_FOR_MODE): Define. + 2013-11-22 Yuri Rumyantsev <ysrumyan@gmail.com> * config/i386/i386.c(processor_alias_table): Enable PTA_AES, diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index 2d2a108..235b6c6 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -93,6 +93,8 @@ static int cris_reg_overlap_mentioned_p (rtx, rtx); static enum machine_mode cris_promote_function_mode (const_tree, enum machine_mode, int *, const_tree, int); +static unsigned int cris_atomic_align_for_mode (enum machine_mode); + static void cris_print_base (rtx, FILE *); static void cris_print_index (rtx, FILE *); @@ -227,6 +229,9 @@ int cris_cpu_version = CRIS_DEFAULT_CPU_VERSION; #undef TARGET_PROMOTE_FUNCTION_MODE #define TARGET_PROMOTE_FUNCTION_MODE cris_promote_function_mode +#undef TARGET_ATOMIC_ALIGN_FOR_MODE +#define TARGET_ATOMIC_ALIGN_FOR_MODE cris_atomic_align_for_mode + #undef TARGET_STRUCT_VALUE_RTX #define TARGET_STRUCT_VALUE_RTX cris_struct_value_rtx #undef TARGET_SETUP_INCOMING_VARARGS @@ -4019,6 +4024,14 @@ cris_promote_function_mode (const_tree type ATTRIBUTE_UNUSED, return CRIS_PROMOTED_MODE (mode, *punsignedp, type); } +/* Atomic types require alignment to be at least their "natural" size. */ + +static unsigned int +cris_atomic_align_for_mode (enum machine_mode mode) +{ + return GET_MODE_BITSIZE (mode); +} + /* Let's assume all functions return in r[CRIS_FIRST_ARG_REG] for the time being. */ |