aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@mips.com>2013-07-23 22:34:10 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2013-07-23 22:34:10 +0000
commit14c21302b114f17846d1f72c4c64519a2f624fdc (patch)
tree106a8166da55df039ff1cc62a806b94bd5d2d6d1
parenta60561983f0df814863a68d87cef51ab66974864 (diff)
downloadgcc-14c21302b114f17846d1f72c4c64519a2f624fdc.zip
gcc-14c21302b114f17846d1f72c4c64519a2f624fdc.tar.gz
gcc-14c21302b114f17846d1f72c4c64519a2f624fdc.tar.bz2
mips.c (mips_case_values_threshold): New.
2013-07-23 Steve Ellcey <sellcey@mips.com> * config/mips/mips.c (mips_case_values_threshold): New. (TARGET_CASE_VALUES_THRESHOLD): Define. From-SVN: r201194
-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 0eed895..20b6b53 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 a3735dc..a56757c 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"