summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-29 12:46:19 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-29 12:46:19 +0000
commit607ac9100968a4144e5925574299ffd91d01a024 (patch)
treee3c72a1b48ac1c5eda7695b12f412d94123a531b
parent2fcf1fbb13e889c2503d7311f591622288376138 (diff)
downloadgcc-607ac9100968a4144e5925574299ffd91d01a024.tar.gz
* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
(TARGET_SCALAR_MODE_SUPPORTED_P): Define. * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132766 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/sh/sh.c14
-rw-r--r--gcc/config/sh/sh.h6
3 files changed, 21 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 617782a0584..4563e529037 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_scalar_mode_supported_p): New function.
+ (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
+
+ * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
+
2008-02-29 Sebastian Pop <sebastian.pop@amd.com>
* tree-loop-linear.c (try_interchange_loops): Compare memory access
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index fdee06182f3..f2a0ba94bcc 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -256,6 +256,7 @@ static bool sh_callee_copies (CUMULATIVE_ARGS *, enum machine_mode,
const_tree, bool);
static int sh_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode,
tree, bool);
+static bool sh_scalar_mode_supported_p (enum machine_mode);
static int sh_dwarf_calling_convention (const_tree);
@@ -431,6 +432,8 @@ static int sh_dwarf_calling_convention (const_tree);
#undef TARGET_GIMPLIFY_VA_ARG_EXPR
#define TARGET_GIMPLIFY_VA_ARG_EXPR sh_gimplify_va_arg_expr
+#undef TARGET_SCALAR_MODE_SUPPORTED_P
+#define TARGET_SCALAR_MODE_SUPPORTED_P sh_scalar_mode_supported_p
#undef TARGET_VECTOR_MODE_SUPPORTED_P
#define TARGET_VECTOR_MODE_SUPPORTED_P sh_vector_mode_supported_p
@@ -9201,6 +9204,17 @@ sh_md_finish_global (FILE *dump ATTRIBUTE_UNUSED,
}
}
+/* The scalar modes supported differs from the default version in TImode
+ for 32-bit SHMEDIA. */
+static bool
+sh_scalar_mode_supported_p (enum machine_mode mode)
+{
+ if (TARGET_SHMEDIA32 && mode == TImode)
+ return false;
+
+ return default_scalar_mode_supported_p (mode);
+}
+
/* Cache the can_issue_more so that we can return it from reorder2. Also,
keep count of register pressures on SImode and SFmode. */
static int
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 844ea23c633..7a1547932e5 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -623,12 +623,6 @@ do { \
} \
TARGET_CBRANCHDI4 = 0; \
} \
- /* -fprofile-arcs needs a working libgcov . In unified tree \
- configurations with newlib, this requires to configure with \
- --with-newlib --with-headers. But there is no way to check \
- here we have a working libgcov, so just assume that we have. */\
- if (profile_flag) \
- warning (0, "profiling is still experimental for this target");\
} \
else \
{ \