aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDenis Chertykov <denisc@overta.ru>2001-01-13 21:42:07 +0000
committerDenis Chertykov <denisc@gcc.gnu.org>2001-01-14 00:42:07 +0300
commit63eaee7147226294b3f12223dfe22aecdfa70cef (patch)
tree971947f707e112735ebc8bc9240f9436d451306a /gcc
parentb874b32db8977f0afdb2dd1bcdece2cfda5b738a (diff)
downloadgcc-63eaee7147226294b3f12223dfe22aecdfa70cef.zip
gcc-63eaee7147226294b3f12223dfe22aecdfa70cef.tar.gz
gcc-63eaee7147226294b3f12223dfe22aecdfa70cef.tar.bz2
avr.md ("strlenhi"): Remove clobber of input address.
* config/avr/avr.md ("strlenhi"): Remove clobber of input address. (*strlenhi): Remove clobber (which was buggy) of output address. From-SVN: r38995
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/avr/avr.md13
2 files changed, 11 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 663dd6f..cea3dc8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
+ (*strlenhi): Remove clobber (which was buggy) of output address.
+
2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
* Makefile.in (generated-manpages): Add gcc.1
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index b822445..858b39f 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -469,8 +469,7 @@
[(set (match_dup 4)
(unspec:HI [(match_operand:BLK 1 "memory_operand" "")
(match_operand:QI 2 "const_int_operand" "")
- (match_operand:HI 3 "immediate_operand" "")] 0))
- (clobber (match_dup 6))])
+ (match_operand:HI 3 "immediate_operand" "")] 0))])
(set (match_dup 4) (plus:HI (match_dup 4)
(const_int -1)))
(set (match_operand:HI 0 "register_operand" "")
@@ -478,11 +477,12 @@
(match_dup 5)))]
""
"{
+ rtx addr;
if (! (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 0))
FAIL;
- operands[6] = copy_to_mode_reg (Pmode, XEXP (operands[1],0));
- operands[1] = gen_rtx (MEM, BLKmode, operands[6]);
- operands[5] = operands[6];
+ addr = copy_to_mode_reg (Pmode, XEXP (operands[1],0));
+ operands[1] = gen_rtx (MEM, BLKmode, addr);
+ operands[5] = addr;
operands[4] = gen_reg_rtx (HImode);
}")
@@ -490,8 +490,7 @@
[(set (match_operand:HI 0 "register_operand" "=e")
(unspec:HI [(mem:BLK (match_operand:HI 1 "register_operand" "%0"))
(const_int 0)
- (match_operand:HI 2 "immediate_operand" "i")] 0))
- (clobber (match_dup 1))]
+ (match_operand:HI 2 "immediate_operand" "i")] 0))]
""
"ld __tmp_reg__,%a0+
tst __tmp_reg__