aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh/sh.md
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2015-09-23 11:55:45 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2015-09-23 11:55:45 +0000
commit9ea4e88f177aec6d897055efc954b4de05766017 (patch)
tree29d4bdb8f348701f058ecaaf7567f18d84734027 /gcc/config/sh/sh.md
parentd5d27976c89bdc3d1429c741d30572bd85c0a92c (diff)
downloadgcc-9ea4e88f177aec6d897055efc954b4de05766017.zip
gcc-9ea4e88f177aec6d897055efc954b4de05766017.tar.gz
gcc-9ea4e88f177aec6d897055efc954b4de05766017.tar.bz2
re PR target/67391 ([SH] Convert clrt addc to normal add insn)
gcc/ PR target/67391 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping regs when matching the pattern. From-SVN: r228046
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r--gcc/config/sh/sh.md10
1 files changed, 1 insertions, 9 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index f3f68c6..3dcb1cd 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -2129,11 +2129,6 @@
{
if (TARGET_SHMEDIA)
operands[1] = force_reg (SImode, operands[1]);
- else if (! arith_operand (operands[2], SImode))
- {
- if (reg_overlap_mentioned_p (operands[0], operands[1]))
- FAIL;
- }
})
(define_insn "addsi3_media"
@@ -2172,10 +2167,7 @@
[(set (match_operand:SI 0 "arith_reg_dest" "=r,&u")
(plus:SI (match_operand:SI 1 "arith_operand" "%0,r")
(match_operand:SI 2 "arith_or_int_operand" "rI08,rn")))]
- "TARGET_SH1
- && ((rtx_equal_p (operands[0], operands[1])
- && arith_operand (operands[2], SImode))
- || ! reg_overlap_mentioned_p (operands[0], operands[1]))"
+ "TARGET_SH1"
"@
add %2,%0
#"