aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2017-03-13 13:55:50 +0100
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2017-03-13 13:55:50 +0100
commit27ffcc3602e2c5f47130efcb6d4ca0df7a5ea587 (patch)
tree3020765de07f44c1bb93e9a77b6cecd9396f3f12
parent14555394f42082fd99a08df951dcc582aa85b780 (diff)
downloadgcc-27ffcc3602e2c5f47130efcb6d4ca0df7a5ea587.zip
gcc-27ffcc3602e2c5f47130efcb6d4ca0df7a5ea587.tar.gz
gcc-27ffcc3602e2c5f47130efcb6d4ca0df7a5ea587.tar.bz2
[ARC] Fix conditional move contstraint
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arc/arc.md2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f643504..6c6676e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md
index 786febc..df039e6 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")