avr.md (neghi2): Remove "!d,0" alternative.
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 21 Feb 2012 18:12:57 +0000 (18:12 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Tue, 21 Feb 2012 18:12:57 +0000 (18:12 +0000)
* config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".

From-SVN: r184447

gcc/ChangeLog
gcc/config/avr/avr.md

index 05ceab6c05a58b1b0347366f8eddb19ff6a707c4..c0c8c50fcd10043abae0a4c62dd4bae4b8cf5bf2 100644 (file)
@@ -1,3 +1,7 @@
+2012-01-21  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
+
 2012-01-21  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr.md
index 10772e22073c2787c8c3a0e0c491838c3f906752..a7fa04cb51f154bbde064b4b319a54189e906646 100644 (file)
    (set_attr "cc" "set_n")])
 
 (define_insn "neghi2"
-  [(set (match_operand:HI 0 "register_operand"       "=!d,r,&r")
-       (neg:HI (match_operand:HI 1 "register_operand" "0,0,r")))]
+  [(set (match_operand:HI 0 "register_operand"        "=r,&r")
+        (neg:HI (match_operand:HI 1 "register_operand" "0,r")))]
   ""
   "@
-       com %B0\;neg %A0\;sbci %B0,lo8(-1)
-       com %B0\;neg %A0\;sbc %B0,__zero_reg__\;inc %B0
+       neg %B0\;neg %A0\;sbc %B0,__zero_reg__
        clr %A0\;clr %B0\;sub %A0,%A1\;sbc %B0,%B1"
-  [(set_attr "length" "3,4,4")
-   (set_attr "cc" "set_czn,set_n,set_czn")])
+  [(set_attr "length" "3,4")
+   (set_attr "cc" "set_czn")])
 
 (define_insn "negpsi2"
   [(set (match_operand:PSI 0 "register_operand"        "=!d,r,&r")