[ARC] Disable compact casesi patterns for arcv2

gcc/
2016-05-09  Claudiu Zissulescu  <claziss@synopsys.com>

	* common/config/arc/arc-common.c (arc_option_optimization_table):
	Remove compact casesi option.
	* config/arc/arc.c (arc_override_options): Use compact casesi
	option only for pre-ARCv2 cores.
	* doc/invoke.texi (mcompact-casesi): Update text.

From-SVN: r240916
This commit is contained in:
Claudiu Zissulescu 2016-10-10 13:39:22 +02:00 committed by Claudiu Zissulescu
parent 41683e1a62
commit 30102051a5
4 changed files with 21 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2016-10-10 Claudiu Zissulescu <claziss@synopsys.com>
* common/config/arc/arc-common.c (arc_option_optimization_table):
Remove compact casesi option.
* config/arc/arc.c (arc_override_options): Use compact casesi
option only for pre-ARCv2 cores.
* doc/invoke.texi (mcompact-casesi): Update text.
2016-10-09 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
* config/rs6000/rs6000.h (TARGET_EFFICIENT_OVERLAPPING_UNALIGNED):

View File

@ -56,7 +56,6 @@ static const struct default_options arc_option_optimization_table[] =
{ OPT_LEVELS_ALL, OPT_mbbit_peephole, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_mq_class, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_mcase_vector_pcrel, NULL, 1 },
{ OPT_LEVELS_SIZE, OPT_mcompact_casesi, NULL, 1 },
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};

View File

@ -858,6 +858,17 @@ arc_override_options (void)
if (arc_size_opt_level == 3)
optimize_size = 1;
/* Compact casesi is not a valid option for ARCv2 family. */
if (TARGET_V2
&& TARGET_COMPACT_CASESI)
{
warning (0, "compact-casesi is not applicable to ARCv2");
TARGET_COMPACT_CASESI = 0;
}
else if (optimize_size == 1
&& !global_options_set.x_TARGET_COMPACT_CASESI)
TARGET_COMPACT_CASESI = 1;
if (flag_pic)
target_flags |= MASK_NO_SDATA_SET;

View File

@ -14293,8 +14293,8 @@ This is the default for @option{-Os}.
@item -mcompact-casesi
@opindex mcompact-casesi
Enable compact casesi pattern.
This is the default for @option{-Os}.
Enable compact casesi pattern. This is the default for @option{-Os},
and only available for ARCv1 cores.
@item -mno-cond-exec
@opindex mno-cond-exec