diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arc/arc.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d692266..c37fc9c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2016-11-17 Claudiu Zissulescu <claziss@synopsys.com> + * config/arc/arc.c (arc_ccfsm_post_advance): Handle return + instruction type. + +2016-11-17 Claudiu Zissulescu <claziss@synopsys.com> + * config/arc/arc-arches.def: Add FPX quarkse instruction as valid for arcem. * config/arc/arc-c.def (__ARC_FPX_QUARK__): Define. diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index 92ae421..beac39b 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -4120,9 +4120,8 @@ arc_ccfsm_post_advance (rtx_insn *insn, struct arc_ccfsm *state) && GET_CODE (PATTERN (insn)) != ADDR_VEC && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC && ((type = get_attr_type (insn)) == TYPE_BRANCH - || (type == TYPE_UNCOND_BRANCH - /* ??? Maybe should also handle TYPE_RETURN here, - but we don't have a testcase for that. */ + || ((type == TYPE_UNCOND_BRANCH + || type == TYPE_RETURN) && ARC_CCFSM_BRANCH_DELETED_P (state)))) { if (ARC_CCFSM_BRANCH_DELETED_P (state)) |