diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2015-09-23 11:55:45 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2015-09-23 11:55:45 +0000 |
commit | 9ea4e88f177aec6d897055efc954b4de05766017 (patch) | |
tree | 29d4bdb8f348701f058ecaaf7567f18d84734027 /gcc/config/sh/sh.md | |
parent | d5d27976c89bdc3d1429c741d30572bd85c0a92c (diff) | |
download | gcc-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.md | 10 |
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 #" |