Mercurial > hg > CbC > CbC_gcc
diff gcc/config/stormy16/stormy16.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/config/stormy16/stormy16.c Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/config/stormy16/stormy16.c Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Xstormy16 target functions. - Copyright (C) 1997-2017 Free Software Foundation, Inc. + Copyright (C) 1997-2018 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. @@ -18,6 +18,8 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ +#define IN_TARGET_CODE 1 + #include "config.h" #include "system.h" #include "coretypes.h" @@ -2189,15 +2191,15 @@ static const struct attribute_spec xstormy16_attribute_table[] = { - /* name, min_len, max_len, decl_req, type_req, fn_type_req, handler, - affects_type_identity. */ - { "interrupt", 0, 0, false, true, true, - xstormy16_handle_interrupt_attribute , false }, - { "BELOW100", 0, 0, false, false, false, - xstormy16_handle_below100_attribute, false }, - { "below100", 0, 0, false, false, false, - xstormy16_handle_below100_attribute, false }, - { NULL, 0, 0, false, false, false, NULL, false } + /* name, min_len, max_len, decl_req, type_req, fn_type_req, + affects_type_identity, handler, exclude. */ + { "interrupt", 0, 0, false, true, true, false, + xstormy16_handle_interrupt_attribute, NULL }, + { "BELOW100", 0, 0, false, false, false, false, + xstormy16_handle_below100_attribute, NULL }, + { "below100", 0, 0, false, false, false, false, + xstormy16_handle_below100_attribute, NULL }, + { NULL, 0, 0, false, false, false, false, NULL, NULL } }; /* Handle an "interrupt" attribute; @@ -2633,6 +2635,14 @@ { return mode1 != BImode && mode2 != BImode; } + +/* Implement PUSH_ROUNDING. */ + +poly_int64 +xstormy16_push_rounding (poly_int64 bytes) +{ + return (bytes + 1) & ~1; +} #undef TARGET_ASM_ALIGNED_HI_OP #define TARGET_ASM_ALIGNED_HI_OP "\t.hword\t" @@ -2718,6 +2728,9 @@ #undef TARGET_CONSTANT_ALIGNMENT #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings +#undef TARGET_HAVE_SPECULATION_SAFE_VALUE +#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed + struct gcc_target targetm = TARGET_INITIALIZER; #include "gt-stormy16.h"