aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2017-10-02 11:31:03 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2017-10-02 11:31:03 +0000
commit6146ee73730cd2a4406918a0d5f98f0f71331f01 (patch)
tree128295607805f4496811d06f4d24024f8ebbc01d
parent96e2d1d1ae69d409e3052d45f79f471c2caf6c9a (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/avr/avr.md6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a2e33e4..8abda0a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-02 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/41076
+ * confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
+ alternative.
+
2017-10-02 Richard Biener <rguenther@suse.de>
* graphite-isl-ast-to-gimple.c (set_codegen_error): With
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"