aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2011-07-31 23:01:14 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2011-07-31 23:01:14 +0000
commit05eb5cc3fea20515ef52617660604cc497460598 (patch)
tree47b4fe5ab363a5e1f6a87a9241d35c9e6bed3e26
parent2583cc9a443550ee71083282e68fc1204d165ddb (diff)
downloadgcc-05eb5cc3fea20515ef52617660604cc497460598.zip
gcc-05eb5cc3fea20515ef52617660604cc497460598.tar.gz
gcc-05eb5cc3fea20515ef52617660604cc497460598.tar.bz2
re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
PR target/49880 * config/sh/sh.md (udivsi3_i1): Enable for TARGET_DIVIDE_CALL_DIV1. (divsi3_i1): Likewise. From-SVN: r176990
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.md4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7576188..7df0ee2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49880
+ * config/sh/sh.md (udivsi3_i1): Enable for TARGET_DIVIDE_CALL_DIV1.
+ (divsi3_i1): Likewise.
+
2011-07-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/49749
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 0f7c8a7..fce2ffd 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1609,7 +1609,7 @@
(clobber (reg:SI PR_REG))
(clobber (reg:SI R4_REG))
(use (match_operand:SI 1 "arith_reg_operand" "r"))]
- "TARGET_SH1 && ! TARGET_SH4"
+ "TARGET_SH1 && (! TARGET_SH4 || TARGET_DIVIDE_CALL_DIV1)"
"jsr @%1%#"
[(set_attr "type" "sfunc")
(set_attr "needs_delay_slot" "yes")])
@@ -1815,7 +1815,7 @@
(clobber (reg:SI R2_REG))
(clobber (reg:SI R3_REG))
(use (match_operand:SI 1 "arith_reg_operand" "r"))]
- "TARGET_SH1 && ! TARGET_SH4"
+ "TARGET_SH1 && (! TARGET_SH4 || TARGET_DIVIDE_CALL_DIV1)"
"jsr @%1%#"
[(set_attr "type" "sfunc")
(set_attr "needs_delay_slot" "yes")])