-
- Downloads
[ARC] Handle store cacheline hazard.
Handle store cacheline hazard for A700 cpus by inserting two NOP_S between ST ST LD or their logical equivalent (like ST ST NOP_S NOP_S J_L.D LD) gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-arch.h (ARC_TUNE_ARC7XX): New tune value. * config/arc/arc.c (arc_active_insn): New function. (check_store_cacheline_hazard): Likewise. (workaround_arc_anomaly): Use check_store_cacheline_hazard. (arc_override_options): Disable delay slot scheduler for older A7. (arc_store_addr_hazard_p): New implementation, old one renamed to ... (arc_store_addr_hazard_internal_p): Renamed. (arc_reorg): Don't combine into brcc instructions which are part of hardware hazard solution. * config/arc/arc.md (attr tune): Consider new arc7xx tune value. (tune_arc700): Likewise. * config/arc/arc.opt (arc7xx): New tune value. * config/arc/arc700.md: Improve A7 scheduler. From-SVN: r265676
Showing
- gcc/ChangeLog 18 additions, 0 deletionsgcc/ChangeLog
- gcc/config/arc/arc-arch.h 1 addition, 0 deletionsgcc/config/arc/arc-arch.h
- gcc/config/arc/arc.c 122 additions, 21 deletionsgcc/config/arc/arc.c
- gcc/config/arc/arc.md 5 additions, 3 deletionsgcc/config/arc/arc.md
- gcc/config/arc/arc.opt 3 additions, 0 deletionsgcc/config/arc/arc.opt
- gcc/config/arc/arc700.md 2 additions, 16 deletionsgcc/config/arc/arc700.md
Loading
Please register or sign in to comment