arc: Don't use millicode thunks unless asked for.
authorClaudiu Zissulescu <claziss@gmail.com>
Wed, 1 Feb 2023 11:02:17 +0000 (13:02 +0200)
committerClaudiu Zissulescu <claziss@gmail.com>
Mon, 13 Feb 2023 09:35:15 +0000 (11:35 +0200)
ARC has enter_s/leave_s instructions which can save/restore the entire
function context. It is not needed the millicode thunks anylonger when
compiling for size, thus, make their usage optional.

gcc/

* common/config/arc/arc-common.cc (arc_option_optimization_table):
Remove millicode from list.

gcc/testsuite/

* gcc.target/arc/milli-1.c: Update test.

gcc/common/config/arc/arc-common.cc
gcc/testsuite/gcc.target/arc/milli-1.c

index 6423f6a9647f219cdfe4fbbeb31ff42ccd98bf1a..95f5dd6120110ea6d9e76b8766275848ca5185cf 100644 (file)
@@ -54,7 +54,6 @@ static const struct default_options arc_option_optimization_table[] =
     { OPT_LEVELS_SIZE, OPT_fsection_anchors, NULL, 1 },
     { OPT_LEVELS_SIZE, OPT_mcase_vector_pcrel, NULL, 1 },
     { OPT_LEVELS_SIZE, OPT_msize_level_, NULL, 3 },
-    { OPT_LEVELS_SIZE, OPT_mmillicode, NULL, 1 },
     { OPT_LEVELS_SIZE, OPT_fif_conversion, NULL, 0 },
     { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
     { OPT_LEVELS_3_PLUS_SPEED_ONLY, OPT_msize_level_, NULL, 0 },
index b501b39eb8139fc7472c0805c4586a7f39022410..5fba064ca6632831725d4c1374b1787c324d5fae 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-Os" } */
+/* { dg-options "-Os -mmillicode" } */
 
 /* Test if we restore correctly blink when using millicode.  */
 extern void bar (void);