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-02-28 Claudiu Zissulescu <claz...@synopsys.com> * config/arc/arc.md (movsi_cond_exec): Update constraint. --- gcc/config/arc/arc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index f01a1ba..3aaedd2 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -3646,7 +3646,7 @@ (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") -- 1.9.1