aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2009-05-12 22:47:03 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2009-05-12 22:47:03 +0000
commitc3537723056c480ac4042581d4b82e536ecad9c5 (patch)
treed3a0cb364955d3faf76917c1ab6a5bc8ce557bd7 /gcc
parent2be517627af141485812051da28eb6bf510f87b4 (diff)
downloadgcc-c3537723056c480ac4042581d4b82e536ecad9c5.zip
gcc-c3537723056c480ac4042581d4b82e536ecad9c5.tar.gz
gcc-c3537723056c480ac4042581d4b82e536ecad9c5.tar.bz2
re PR target/39561 (-mno-expand-cbranchdi broken)
PR target/39561 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Don't set TARGET_EXPAND_CBRANCHDI4. * config/sh/sh.md (cbranchdi4): Don't check TARGET_EXPAND_CBRANCHDI4. * config/sh/sh.opt (mexpand-cbranchdi): Remove. (cmpeqdi): Fix comment. From-SVN: r147453
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/sh/sh.h5
-rw-r--r--gcc/config/sh/sh.md10
-rw-r--r--gcc/config/sh/sh.opt8
4 files changed, 16 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb8074f..3a9c2b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2009-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
+ PR target/39561
+ * config/sh/sh.h (OPTIMIZATION_OPTIONS): Don't set
+ TARGET_EXPAND_CBRANCHDI4.
+ * config/sh/sh.md (cbranchdi4): Don't check TARGET_EXPAND_CBRANCHDI4.
+ * config/sh/sh.opt (mexpand-cbranchdi): Remove.
+ (cmpeqdi): Fix comment.
+
+2009-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
* config/sh/sh-protos.h (sh_legitimate_index_p): Declare.
(sh_legitimate_address_p): Likewise.
* config/sh/sh.c (sh_legitimate_index_p): New.
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 0b6294a..8d73615 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -473,10 +473,7 @@ do { \
sh_div_str = SH_DIV_STR_FOR_SIZE ; \
} \
else \
- { \
- TARGET_CBRANCHDI4 = 1; \
- TARGET_EXPAND_CBRANCHDI4 = 1; \
- } \
+ TARGET_CBRANCHDI4 = 1; \
/* We can't meaningfully test TARGET_SHMEDIA here, because -m options \
haven't been parsed yet, hence we'd read only the default. \
sh_target_reg_class will return NO_REGS if this is not SHMEDIA, so \
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index ffd0db0..ca69108 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1,6 +1,6 @@
;;- Machine description for Renesas / SuperH SH.
;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com).
;; Improved by Jim Wilson (wilson@cygnus.com).
@@ -723,11 +723,9 @@
else
{
- if (TARGET_EXPAND_CBRANCHDI4)
- {
- if (expand_cbranchdi4 (operands, LAST_AND_UNUSED_RTX_CODE))
- DONE;
- }
+ if (expand_cbranchdi4 (operands, LAST_AND_UNUSED_RTX_CODE))
+ DONE;
+
comparison = prepare_cbranch_operands (operands, DImode,
LAST_AND_UNUSED_RTX_CODE);
if (comparison != GET_CODE (operands[0]))
diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt
index 9aaba6c..8aa0c9f 100644
--- a/gcc/config/sh/sh.opt
+++ b/gcc/config/sh/sh.opt
@@ -1,6 +1,6 @@
; Options for the SH port of the compiler.
-; Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
@@ -224,13 +224,9 @@ mcbranchdi
Target Var(TARGET_CBRANCHDI4)
Enable cbranchdi4 pattern
-mexpand-cbranchdi
-Target Var(TARGET_EXPAND_CBRANCHDI4)
-Expand cbranchdi4 pattern early into separate comparisons and branches.
-
mcmpeqdi
Target Var(TARGET_CMPEQDI_T)
-Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect.
+Emit cmpeqdi_t pattern even when -mcbranchdi is in effect.
mcut2-workaround
Target RejectNegative Var(TARGET_SH5_CUT2_WORKAROUND)