arc: Don't allow millicode thunks with reduced register set CPUs.
authorClaudiu Zissulescu <claziss@synopsys.com>
Fri, 4 Jun 2021 07:12:32 +0000 (10:12 +0300)
committerClaudiu Zissulescu <claziss@synopsys.com>
Fri, 4 Jun 2021 07:12:32 +0000 (10:12 +0300)
The millicode thunks are not reduced register set safe.  Disable them
for CPUs having this option on.

gcc/
2021-06-04  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_override_options): Disable millicode
thunks when RF16 is on.

Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
gcc/config/arc/arc.c

index b77d056..0d34c96 100644 (file)
@@ -1451,8 +1451,10 @@ arc_override_options (void)
   if (TARGET_ARC700 && (arc_tune != ARC_TUNE_ARC7XX))
     flag_delayed_branch = 0;
 
-  /* Millicode thunks doesn't work with long calls.  */
-  if (TARGET_LONG_CALLS_SET)
+  /* Millicode thunks doesn't work for long calls.  */
+  if (TARGET_LONG_CALLS_SET
+      /* neither for RF16.  */
+      || TARGET_RF16)
     target_flags &= ~MASK_MILLICODE_THUNK_SET;
 
   /* Set unaligned to all HS cpus.  */