[ARC] Fix conditional move contstraint
authorClaudiu Zissulescu <claziss@synopsys.com>
Mon, 13 Mar 2017 12:55:50 +0000 (13:55 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 13 Mar 2017 12:55:50 +0000 (13:55 +0100)
Move pattern (movsi_insn) allows predicated instructions to be
instructions which can hold all registers.  However, the conditional
variant doesn't.  This patch fixes this problem.

2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (movsi_cond_exec): Update constraint.

From-SVN: r246088

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

index f643504..6c6676e 100644 (file)
@@ -1,5 +1,9 @@
 2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
 
+       * config/arc/arc.md (movsi_cond_exec): Update constraint.
+
+2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
        * config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
        expressions with MINUS and UNARY ops.
 
index 786febc..df039e6 100644 (file)
      (match_operator 3 "proper_comparison_operator"
        [(match_operand 2 "cc_register" "Rcc,Rcc") (const_int 0)])
      (set (match_operand:SI 0 "dest_reg_operand" "=w,w")
-         (match_operand:SI 1 "nonmemory_operand" "Lc,?Cal")))]
+         (match_operand:SI 1 "nonmemory_operand" "LRac,?Cal")))]
   ""
   "mov.%d3 %0,%S1"
   [(set_attr "type" "cmove")