[ARC] Various instruction pattern fixes
authorClaudiu Zissulescu <claziss@synopsys.com>
Mon, 2 May 2016 11:26:57 +0000 (13:26 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 2 May 2016 11:26:57 +0000 (13:26 +0200)
gcc/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (mulsidi3): Change operand 0 predicate to
register_operand.
(umulsidi3): Likewise.
(indirect_jump): Fix jump instruction assembly patterns.

From-SVN: r235749

gcc/ChangeLog
gcc/config/arc/arc.md

index f344e0ff0702e5007fa2784e539e9d8e0350bd39..a098272d42fabe9201ccd618b8af848db3538d91 100644 (file)
@@ -1,3 +1,10 @@
+2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.md (mulsidi3): Change operand 0 predicate to
+       register_operand.
+       (umulsidi3): Likewise.
+       (indirect_jump): Fix jump instruction assembly patterns.
+
 2016-05-02  Thomas Schwinge  <thomas@codesourcery.com>
 
        PR target/70860
index 85e54587d99df9866a0f5396deccee22fde237ff..a4ee08450a8c8109000451a8537c347de80465cb 100644 (file)
   (set_attr "cond" "nocond,canuse,nocond,canuse_limm,canuse,nocond")])
 
 (define_expand "mulsidi3"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "")
-       (mult:DI (sign_extend:DI(match_operand:SI 1 "register_operand" ""))
-                (sign_extend:DI(match_operand:SI 2 "nonmemory_operand" ""))))]
+  [(set (match_operand:DI 0 "register_operand" "")
+       (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" ""))
+                (sign_extend:DI (match_operand:SI 2 "nonmemory_operand" ""))))]
   "TARGET_ANY_MPY"
 "
 {
 }")
 
 (define_expand "umulsidi3"
-  [(set (match_operand:DI 0 "nonimmediate_operand" "")
-       (mult:DI (zero_extend:DI(match_operand:SI 1 "register_operand" ""))
-                (zero_extend:DI(match_operand:SI 2 "nonmemory_operand" ""))))]
+  [(set (match_operand:DI 0 "register_operand" "")
+       (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" ""))
+                (zero_extend:DI (match_operand:SI 2 "nonmemory_operand" ""))))]
   ""
 {
   if (TARGET_MPY)
 (define_insn "indirect_jump"
   [(set (pc) (match_operand:SI 0 "nonmemory_operand" "L,I,Cal,Rcqq,r"))]
   ""
-  "j%!%* [%0]%&"
+  "@
+   j%!%* %0%&
+   j%!%* %0%&
+   j%!%* %0%&
+   j%!%* [%0]%&
+   j%!%* [%0]%&"
   [(set_attr "type" "jump")
    (set_attr "iscompact" "false,false,false,maybe,false")
    (set_attr "cond" "canuse,canuse_limm,canuse,canuse,canuse")])