aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2014-03-19 22:51:47 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2014-03-19 22:51:47 +0000
commit8659d57bdaab0cc70460d5faf2d1a74fb2a9c3a5 (patch)
tree14eb28de6869737ce9ad53f5b08091ea2d75d5ab
parentccd7751b3424a4e5082a57341789649bc495f0c6 (diff)
downloadgcc-8659d57bdaab0cc70460d5faf2d1a74fb2a9c3a5.zip
gcc-8659d57bdaab0cc70460d5faf2d1a74fb2a9c3a5.tar.gz
gcc-8659d57bdaab0cc70460d5faf2d1a74fb2a9c3a5.tar.bz2
re PR target/60039 (sh3 optimisation bug with -O2)
PR target/60039 * config/sh/sh.md (udivsi3_i1): Clobber R1 register From-SVN: r208688
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.md1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 78a4071..557ee36 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/60039
+ * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
+
2014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/aarch-common-protos.h
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 76af3a2..ab1f0a5 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -2314,6 +2314,7 @@
(udiv:SI (reg:SI R4_REG) (reg:SI R5_REG)))
(clobber (reg:SI T_REG))
(clobber (reg:SI PR_REG))
+ (clobber (reg:SI R1_REG))
(clobber (reg:SI R4_REG))
(use (match_operand:SI 1 "arith_reg_operand" "r"))]
"TARGET_SH1 && TARGET_DIVIDE_CALL_DIV1"