aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@mips.com>2013-07-23 22:34:10 +0000
committerSteve Ellcey <sellcey@mips.com>2013-07-23 22:34:10 +0000
commit42ac455885e9f0dd7cdbff7e97067c15b1082b80 (patch)
tree106a8166da55df039ff1cc62a806b94bd5d2d6d1
parente88fd055c3ea3630dab5ea379606126dbbd7aed6 (diff)
2013-07-23 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.c (mips_case_values_threshold): New. (TARGET_CASE_VALUES_THRESHOLD): Define. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@201194 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c15
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0eed895e65a..20b6b5385ef 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-07-23 Steve Ellcey <sellcey@mips.com>
+
+ * config/mips/mips.c (mips_case_values_threshold): New.
+ (TARGET_CASE_VALUES_THRESHOLD): Define.
+
2013-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Anton Blanchard <anton@au1.ibm.com>
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index a3735dc598d..a56757c877f 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -18613,6 +18613,18 @@ mips_expand_vec_minmax (rtx target, rtx op0, rtx op1,
x = gen_rtx_IOR (vmode, t0, t1);
emit_insn (gen_rtx_SET (VOIDmode, target, x));
}
+
+/* Implement TARGET_CASE_VALUES_THRESHOLD. */
+
+unsigned int
+mips_case_values_threshold (void)
+{
+ /* In MIPS16 mode using a larger case threshold generates smaller code. */
+ if (TARGET_MIPS16 && optimize_size)
+ return 10;
+ else
+ return default_case_values_threshold ();
+}
/* Initialize the GCC target structure. */
#undef TARGET_ASM_ALIGNED_HI_OP
@@ -18844,6 +18856,9 @@ mips_expand_vec_minmax (rtx target, rtx op0, rtx op1,
#undef TARGET_VECTORIZE_VEC_PERM_CONST_OK
#define TARGET_VECTORIZE_VEC_PERM_CONST_OK mips_vectorize_vec_perm_const_ok
+#undef TARGET_CASE_VALUES_THRESHOLD
+#define TARGET_CASE_VALUES_THRESHOLD mips_case_values_threshold
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-mips.h"