diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2017-10-02 11:31:03 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2017-10-02 11:31:03 +0000 |
commit | 6146ee73730cd2a4406918a0d5f98f0f71331f01 (patch) | |
tree | 128295607805f4496811d06f4d24024f8ebbc01d /gcc/config/avr | |
parent | 96e2d1d1ae69d409e3052d45f79f471c2caf6c9a (diff) | |
download | gcc-6146ee73730cd2a4406918a0d5f98f0f71331f01.zip gcc-6146ee73730cd2a4406918a0d5f98f0f71331f01.tar.gz gcc-6146ee73730cd2a4406918a0d5f98f0f71331f01.tar.bz2 |
re PR target/41076 ([avr] pessimal code for logical OR of 8-bit fields)
PR target/41076
* confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
alternative.
From-SVN: r253343
Diffstat (limited to 'gcc/config/avr')
-rw-r--r-- | gcc/config/avr/avr.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index fe5ca30..436f036 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -6804,11 +6804,11 @@ (define_insn_and_split "*iorhi3.ashift8-ext.zerox" - [(set (match_operand:HI 0 "register_operand" "=r") + [(set (match_operand:HI 0 "register_operand" "=r,r") (ior:HI (ashift:HI (any_extend:HI - (match_operand:QI 1 "register_operand" "r")) + (match_operand:QI 1 "register_operand" "r,r")) (const_int 8)) - (zero_extend:HI (match_operand:QI 2 "register_operand" "r"))))] + (zero_extend:HI (match_operand:QI 2 "register_operand" "0,r"))))] "optimize" { gcc_unreachable(); } "&& reload_completed" |