[NDS32] Refine negsi2 pattern.
authorChung-Ju Wu <jasonwucj@gmail.com>
Thu, 5 Apr 2018 02:58:19 +0000 (02:58 +0000)
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>
Thu, 5 Apr 2018 02:58:19 +0000 (02:58 +0000)
gcc/
* config/nds32/nds32.md (negsi2): Refine pattern.

From-SVN: r259118

gcc/ChangeLog
gcc/config/nds32/nds32.md

index 19ea1ab7f628e077e8085efe32c04418edcce331..cb27056da934e8e8ffc418cdb099a9fdc40d3632 100644 (file)
@@ -1,3 +1,7 @@
+2018-04-05  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32.md (negsi2): Refine pattern.
+
 2018-04-05  Kito Cheng  <kito.cheng@gmail.com>
            Chung-Ju Wu  <jasonwucj@gmail.com>
 
index b7c82b6979870177820c10e5f7fe0b38e7cb270d..f69dd9de92fb3dbb0640af191a8b0c1d98746ef9 100644 (file)
 ;; And for V2 ISA, there is NO 'neg33' instruction.
 ;; The only option is to use 'subri A,B,0' (its semantic is 'A = 0 - B').
 (define_insn "negsi2"
-  [(set (match_operand:SI 0 "register_operand"         "=w, r")
-       (neg:SI (match_operand:SI 1 "register_operand" " w, r")))]
+  [(set (match_operand:SI 0 "register_operand"         "=l, r")
+       (neg:SI (match_operand:SI 1 "register_operand" " l, r")))]
   ""
   "@
    neg33\t%0, %1
    subri\t%0, %1, 0"
-  [(set_attr "type"   "alu,alu")
-   (set_attr "length" "  2,  4")])
-
+  [(set_attr "type"    "alu,alu")
+   (set_attr "length"  "  2,  4")
+   (set_attr "feature" "v3m, v1")])
 
 ;; ----------------------------------------------------------------------------
 ;; 'ONE_COMPLIMENT' operation