diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6044fbcb99067f80d1eeffd2c15a73f663105e26..4dcf45ec9f196772e24624b080b0cc9a920e1777 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2018-04-23 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/arc.md ("vunspec"): Delete it, unify all the unspec + enums into a single definition. + (fls): Fix predicates and printing. + (seti): Likewise. + 2018-04-23 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (check_if_valid_sleep_operand): Remove. diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index c4bc300fd74468e93f4bac38c0116579c2843070..d19e99daca72136ac52be5dbb6235fcbd7eb4f85 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -136,9 +136,7 @@ UNSPEC_ARC_VMPY2H UNSPEC_ARC_VMPY2HU UNSPEC_ARC_STKTIE - ]) -(define_c_enum "vunspec" [ VUNSPEC_ARC_RTIE VUNSPEC_ARC_SYNC VUNSPEC_ARC_BRK @@ -5802,21 +5800,19 @@ }) (define_insn "fls" - [(set (match_operand:SI 0 "dest_reg_operand" "=w,w") - (unspec:SI [(match_operand:SI 1 "general_operand" "cL,Cal")] + [(set (match_operand:SI 0 "register_operand" "=r,r") + (unspec:SI [(match_operand:SI 1 "nonmemory_operand" "rL,Cal")] UNSPEC_ARC_FLS))] "TARGET_NORM && TARGET_V2" - "@ - fls \t%0, %1 - fls \t%0, %1" + "fls\\t%0,%1" [(set_attr "length" "4,8") (set_attr "type" "two_cycle_core,two_cycle_core")]) (define_insn "seti" - [(unspec_volatile:SI [(match_operand:SI 0 "general_operand" "rL")] + [(unspec_volatile:SI [(match_operand:SI 0 "nonmemory_operand" "rL")] VUNSPEC_ARC_SETI)] "TARGET_V2" - "seti %0" + "seti\\t%0" [(set_attr "length" "4") (set_attr "type" "misc")])