diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-10-13 08:43:22 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@linaro.org> | 2017-10-13 08:43:22 +0100 |
commit | 246229fdf9230ca040aa990a3fbb42698f30ae5f (patch) | |
tree | acad23f2376b0bc72e72dc3c8e5c4f89bd78a6f9 /gcc/config/mmix | |
parent | c2f1abac401810096970cf7dd60ca60484195a28 (diff) | |
parent | e3d0f65c14ffd7a63455dc1aa9d0405d25b327e4 (diff) | |
download | gcc-246229fdf9230ca040aa990a3fbb42698f30ae5f.tar.gz |
Merge trunk into sve
Diffstat (limited to 'gcc/config/mmix')
-rw-r--r-- | gcc/config/mmix/mmix.c | 11 | ||||
-rw-r--r-- | gcc/config/mmix/mmix.h | 2 |
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 |