diff options
author | Kito Cheng <kito.cheng@gmail.com> | 2018-04-04 12:38:04 +0000 |
---|---|---|
committer | Chung-Ju Wu <jasonwucj@gcc.gnu.org> | 2018-04-04 12:38:04 +0000 |
commit | b43502719f0727864d5a19fe08a081a334022e42 (patch) | |
tree | a14cfbeb91a4d12bfca07223fd1ef96d720debbf /gcc | |
parent | f46de383ed507006d6f1d9737856ad0db81ba470 (diff) | |
download | gcc-b43502719f0727864d5a19fe08a081a334022e42.zip gcc-b43502719f0727864d5a19fe08a081a334022e42.tar.gz gcc-b43502719f0727864d5a19fe08a081a334022e42.tar.bz2 |
[NDS32] Restrict mov pattern that has at least one register operand.
gcc/
* config/nds32/nds32-doubleword.md (move_<mode>): Require
resiter_operand condition.
* config/nds32/nds32.md (*move<mode>): Ditto.
From-SVN: r259077
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/nds32/nds32-doubleword.md | 3 | ||||
-rw-r--r-- | gcc/config/nds32/nds32.md | 3 |
3 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f97ac2..bd0c1b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ 2018-04-04 Kito Cheng <kito.cheng@gmail.com> + + * config/nds32/nds32-doubleword.md (move_<mode>): Require + resiter_operand condition. + * config/nds32/nds32.md (*move<mode>): Ditto. + +2018-04-04 Kito Cheng <kito.cheng@gmail.com> Monk Chiang <sh.chiang04@gmail.com> * config/nds32/nds32.md (movmisalign<mode>): New pattern. diff --git a/gcc/config/nds32/nds32-doubleword.md b/gcc/config/nds32/nds32-doubleword.md index beefca4..0e4b0dc 100644 --- a/gcc/config/nds32/nds32-doubleword.md +++ b/gcc/config/nds32/nds32-doubleword.md @@ -48,7 +48,8 @@ (define_insn "move_<mode>" [(set (match_operand:DIDF 0 "nonimmediate_operand" "=r, r, r, m") (match_operand:DIDF 1 "general_operand" " r, i, m, r"))] - "" + "register_operand(operands[0], <MODE>mode) + || register_operand(operands[1], <MODE>mode)" { rtx addr; rtx otherops[5]; diff --git a/gcc/config/nds32/nds32.md b/gcc/config/nds32/nds32.md index 68fe1b3..afbea8b 100644 --- a/gcc/config/nds32/nds32.md +++ b/gcc/config/nds32/nds32.md @@ -158,7 +158,8 @@ (define_insn "*mov<mode>" [(set (match_operand:QIHISI 0 "nonimmediate_operand" "=r, r, U45, U33, U37, U45, m, l, l, l, d, r, d, r, r, r") (match_operand:QIHISI 1 "nds32_move_operand" " r, r, l, l, l, d, r, U45, U33, U37, U45, m, Ip05, Is05, Is20, Ihig"))] - "" + "register_operand(operands[0], <MODE>mode) + || register_operand(operands[1], <MODE>mode)" { switch (which_alternative) { |