diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2017-02-06 11:38:52 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2017-02-06 11:38:52 +0000 |
commit | 1e58aefec437e9d9da7a757a3c43aa5fba9ca8dc (patch) | |
tree | ba012e579620d04a1e7ca943c7746b66c039334d | |
parent | ef7df1533834873ae913f00bc1378fb7f00271ea (diff) | |
download | gcc-1e58aefec437e9d9da7a757a3c43aa5fba9ca8dc.zip gcc-1e58aefec437e9d9da7a757a3c43aa5fba9ca8dc.tar.gz gcc-1e58aefec437e9d9da7a757a3c43aa5fba9ca8dc.tar.bz2 |
avr.md (*addhi3_zero_extend): Add alternative where REGNO($0) == REGNO($1).
* config/avr/avr.md (*addhi3_zero_extend): Add alternative where
REGNO($0) == REGNO($1).
From-SVN: r245206
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/avr/avr.md | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a6414f..9b9657d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-02-06 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (*addhi3_zero_extend): Add alternative where + REGNO($0) == REGNO($1). + 2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/linux.h(SIZE_TYPE): Add comment. diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index 256b2b6..c246e67 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -1200,12 +1200,14 @@ (define_insn "*addhi3_zero_extend" - [(set (match_operand:HI 0 "register_operand" "=r") - (plus:HI (zero_extend:HI (match_operand:QI 1 "register_operand" "r")) - (match_operand:HI 2 "register_operand" "0")))] + [(set (match_operand:HI 0 "register_operand" "=r,*?r") + (plus:HI (zero_extend:HI (match_operand:QI 1 "register_operand" "r ,0")) + (match_operand:HI 2 "register_operand" "0 ,r")))] "" - "add %A0,%1\;adc %B0,__zero_reg__" - [(set_attr "length" "2") + "@ + add %A0,%1\;adc %B0,__zero_reg__ + add %A0,%A2\;mov %B0,%B2\;adc %B0,__zero_reg__" + [(set_attr "length" "2,3") (set_attr "cc" "set_n")]) (define_insn "*addhi3_zero_extend1" |