The mululw instructions are wrongly used in the patterns, fix them. Okt to apply? Claudiu
gcc/ 2016-06-28 Claudiu Zissulescu <claz...@synopsys.com> * config/arc/arc.md (umul_600): Change. (umul64_600): Likewise. --- gcc/config/arc/arc.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index 2464a19..41b8eed 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -1937,13 +1937,11 @@ (const_int 0)))) (clobber (match_operand:SI 3 "acc1_operand" ""))] "TARGET_MULMAC_32BY16_SET" - "@mululw 0, %0, %1 - mululw 0, %0, %1 - mululw%? 0, %1, %0" + "mululw 0, %0, %1" [(set_attr "length" "4,4,8") - (set_attr "type" "mulmac_600, mulmac_600, mulmac_600") - (set_attr "predicable" "no, no, yes") - (set_attr "cond" "nocond, canuse_limm, canuse")]) + (set_attr "type" "mulmac_600") + (set_attr "predicable" "no") + (set_attr "cond" "nocond")]) (define_insn "mac_600" [(set (match_operand:SI 2 "acc2_operand" "") @@ -2372,13 +2370,11 @@ (const_int 0)))) ] "TARGET_MULMAC_32BY16_SET" - "@mululw 0, %0, %1 - mululw 0, %0, %1 - mululw%? 0, %1, %0" + "mululw 0, %0, %1" [(set_attr "length" "4,4,8") (set_attr "type" "mulmac_600") - (set_attr "predicable" "no,no,yes") - (set_attr "cond" "nocond, canuse_limm, canuse")]) + (set_attr "predicable" "no") + (set_attr "cond" "nocond")]) (define_insn "umac64_600" -- 1.9.1