]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cris.c (cris_atomic_align_for_mode): New function.
authorHans-Peter Nilsson <hp@axis.com>
Fri, 22 Nov 2013 16:39:37 +0000 (16:39 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Fri, 22 Nov 2013 16:39:37 +0000 (16:39 +0000)
* config/cris/cris.c (cris_atomic_align_for_mode): New function.
(TARGET_ATOMIC_ALIGN_FOR_MODE): Define.

From-SVN: r205276

gcc/ChangeLog
gcc/config/cris/cris.c

index 8150db9a598ed44d55a92ba1394b1663da5621e1..29e7ff464ede90467d979296547c6be9af88ca80 100644 (file)
@@ -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,
index 2d2a108031d769705cf9f1a0cd40d296a39accbd..235b6c652cf32985e9817abf18cff281383aa1e7 100644 (file)
@@ -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.  */