diff options
Diffstat (limited to 'gcc/config/tilegx/tilegx.c')
-rw-r--r-- | gcc/config/tilegx/tilegx.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c index 004cc93..368821e 100644 --- a/gcc/config/tilegx/tilegx.c +++ b/gcc/config/tilegx/tilegx.c @@ -5560,7 +5560,14 @@ tilegx_file_end (void) file_end_indicate_exec_stack (); } +/* Implement TARGET_TRULY_NOOP_TRUNCATION. We represent all SI values + as sign-extended DI values in registers. */ +static bool +tilegx_truly_noop_truncation (unsigned int outprec, unsigned int inprec) +{ + return inprec <= 32 || outprec > 32; +} #undef TARGET_HAVE_TLS #define TARGET_HAVE_TLS HAVE_AS_TLS @@ -5724,6 +5731,9 @@ tilegx_file_end (void) #undef TARGET_CAN_USE_DOLOOP_P #define TARGET_CAN_USE_DOLOOP_P can_use_doloop_if_innermost +#undef TARGET_TRULY_NOOP_TRUNCATION +#define TARGET_TRULY_NOOP_TRUNCATION tilegx_truly_noop_truncation + struct gcc_target targetm = TARGET_INITIALIZER; #include "gt-tilegx.h" |