summaryrefslogtreecommitdiff
path: root/gcc/config/mmix
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-10-13 08:43:22 +0100
committerRichard Sandiford <richard.sandiford@linaro.org>2017-10-13 08:43:22 +0100
commit246229fdf9230ca040aa990a3fbb42698f30ae5f (patch)
treeacad23f2376b0bc72e72dc3c8e5c4f89bd78a6f9 /gcc/config/mmix
parentc2f1abac401810096970cf7dd60ca60484195a28 (diff)
parente3d0f65c14ffd7a63455dc1aa9d0405d25b327e4 (diff)
downloadgcc-246229fdf9230ca040aa990a3fbb42698f30ae5f.tar.gz
Merge trunk into sve
Diffstat (limited to 'gcc/config/mmix')
-rw-r--r--gcc/config/mmix/mmix.c11
-rw-r--r--gcc/config/mmix/mmix.h2
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index f95b9d32bbd..ea5769ebe2b 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -170,6 +170,7 @@ static void mmix_print_operand (FILE *, rtx, int);
static void mmix_print_operand_address (FILE *, machine_mode, rtx);
static bool mmix_print_operand_punct_valid_p (unsigned char);
static void mmix_conditional_register_usage (void);
+static HOST_WIDE_INT mmix_static_rtx_alignment (machine_mode);
static HOST_WIDE_INT mmix_constant_alignment (const_tree, HOST_WIDE_INT);
/* Target structure macros. Listed by node. See `Using and Porting GCC'
@@ -285,6 +286,8 @@ static HOST_WIDE_INT mmix_constant_alignment (const_tree, HOST_WIDE_INT);
#undef TARGET_OPTION_OVERRIDE
#define TARGET_OPTION_OVERRIDE mmix_option_override
+#undef TARGET_STATIC_RTX_ALIGNMENT
+#define TARGET_STATIC_RTX_ALIGNMENT mmix_static_rtx_alignment
#undef TARGET_CONSTANT_ALIGNMENT
#define TARGET_CONSTANT_ALIGNMENT mmix_constant_alignment
@@ -340,6 +343,14 @@ mmix_data_alignment (tree type ATTRIBUTE_UNUSED, int basic_align)
return basic_align;
}
+/* Implement TARGET_STATIC_RTX_ALIGNMENT. */
+
+static HOST_WIDE_INT
+mmix_static_rtx_alignment (machine_mode mode)
+{
+ return MAX (GET_MODE_ALIGNMENT (mode), 32);
+}
+
/* Implement tARGET_CONSTANT_ALIGNMENT. */
static HOST_WIDE_INT
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 1b5c07f770c..7d1e83c28e0 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -72,7 +72,7 @@ along with GCC; see the file COPYING3. If not see
#define MMIX_EH_RETURN_STACKADJ_REGNUM MMIX_STATIC_CHAIN_REGNUM
#define MMIX_FUNCTION_ARG_SIZE(MODE, TYPE) \
- ((MODE) != BLKmode ? GET_MODE_SIZE (MODE) : int_size_in_bytes_hwi (TYPE))
+ ((MODE) != BLKmode ? GET_MODE_SIZE (MODE) : int_size_in_bytes (TYPE))
/* Per-function machine data. This is normally an opaque type just
defined and used in the tm.c file, but we need to see the definition in