aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2007-04-08 02:00:33 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2007-04-08 02:00:33 +0400
commitee57a66148bae672e53312950c296ef81294f064 (patch)
tree23d00b93066592b9bfc6da146494bbdb57391ddc /gcc
parent3c19e5e1a18fa59dd69c1a21e17619f6166c963e (diff)
downloadgcc-ee57a66148bae672e53312950c296ef81294f064.zip
gcc-ee57a66148bae672e53312950c296ef81294f064.tar.gz
gcc-ee57a66148bae672e53312950c296ef81294f064.tar.bz2
re PR target/30289 (avr-gcc: builtin memset(): wrong code)
PR target/30289 * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as earlyclobber. From-SVN: r123647
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/avr/avr.md4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b422096..b7d23c4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-07 Anatoly Sokolov <aesok@post.ru>
+
+ PR target/30289
+ * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
+ earlyclobber.
+
2007-04-07 Bruce Korb <bkorb@gnu.org>
* c.opt: Add -Wformat-contains-nul.
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 0eb8849..b74f1db 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -491,7 +491,7 @@
(use (match_operand:QI 1 "register_operand" "r"))
(use (match_operand:QI 2 "const_int_operand" "n"))
(clobber (match_scratch:HI 3 "=0"))
- (clobber (match_scratch:QI 4 "=1"))]
+ (clobber (match_scratch:QI 4 "=&1"))]
""
"st %a0+,__zero_reg__
dec %1
@@ -505,7 +505,7 @@
(use (match_operand:HI 1 "register_operand" "!w,d"))
(use (match_operand:HI 2 "const_int_operand" "n,n"))
(clobber (match_scratch:HI 3 "=0,0"))
- (clobber (match_scratch:HI 4 "=1,1"))]
+ (clobber (match_scratch:HI 4 "=&1,&1"))]
""
"*{
if (which_alternative==0)