The ARC ZOL implementation doesn't allow the last instruction to be a
control instruction or part of a delay slot. Thus, we add a note to
the last ZOL instruction which will prevent it to finish into a delay
slot.
2017-10-20 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (hwloop_optimize): Prevent the last
ZOL instruction to end into a delay slot.
* config/arc/arc.md (cond_delay_insn): Check if the instruction
can be placed into a delay slot against reg_note.
(in_delay_slot): Likewise.
testsuite/
2017-10-20 Claudiu Zissulescu <claziss@synopsys.com>
* gcc.target/arc/loop-3.c: New test.
* gcc.target/arc/loop-4.c: Likewise.
[FIX][ZOL] fix checking for jumps
From-SVN: r255275
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| abitest.S | Loading commit data... | |
| abitest.h | Loading commit data... | |
| add_n-combine.c | Loading commit data... | |
| arc.exp | Loading commit data... | |
| arc700-stld-hazard.c | Loading commit data... | |
| barrel-shifter-1.c | Loading commit data... | |
| barrel-shifter-2.c | Loading commit data... | |
| bitfield.c | Loading commit data... | |
| builtin_arc_aligned-1.c | Loading commit data... | |
| builtin_arc_aligned-2.c | Loading commit data... | |
| builtin_arc_aligned-3.c | Loading commit data... | |
| builtin_general.c | Loading commit data... | |
| builtin_simd.c | Loading commit data... | |
| builtin_simdarc.c | Loading commit data... | |
| builtin_special.c | Loading commit data... | |
| cmem-1.c | Loading commit data... | |
| cmem-2.c | Loading commit data... | |
| cmem-3.c | Loading commit data... | |
| cmem-4.c | Loading commit data... | |
| cmem-5.c | Loading commit data... | |
| cmem-6.c | Loading commit data... | |
| cmem-7.c | Loading commit data... | |
| cmem-bit-1.c | Loading commit data... | |
| cmem-bit-2.c | Loading commit data... | |
| cmem-bit-3.c | Loading commit data... | |
| cmem-bit-4.c | Loading commit data... | |
| cmem-ld.inc | Loading commit data... | |
| cmem-st.inc | Loading commit data... | |
| cond-set-use.c | Loading commit data... | |
| extzv-1.c | Loading commit data... | |
| firq-1.c | Loading commit data... | |
| firq-2.c | Loading commit data... | |
| firq-3.c | Loading commit data... | |
| firq-4.c | Loading commit data... | |
| firq-5.c | Loading commit data... | |
| firq-6.c | Loading commit data... | |
| ieee_eq.c | Loading commit data... | |
| insv-1.c | Loading commit data... | |
| insv-2.c | Loading commit data... | |
| interrupt-1.c | Loading commit data... | |
| interrupt-2.c | Loading commit data... | |
| interrupt-3.c | Loading commit data... | |
| interrupt-4.c | Loading commit data... | |
| interrupt-5.c | Loading commit data... | |
| interrupt-6.c | Loading commit data... | |
| interrupt-7.c | Loading commit data... | |
| interrupt-8.c | Loading commit data... | |
| interrupt-9.c | Loading commit data... | |
| jump-around-jump.c | Loading commit data... | |
| load-update.c | Loading commit data... | |
| long-calls.c | Loading commit data... | |
| loop-1.c | Loading commit data... | |
| loop-2.cpp | Loading commit data... | |
| loop-3.c | Loading commit data... | |
| loop-4.c | Loading commit data... | |
| loop-5.cpp | Loading commit data... | |
| loop-hazard-1.c | Loading commit data... | |
| lra-1.c | Loading commit data... | |
| mA6.c | Loading commit data... | |
| mA7.c | Loading commit data... | |
| mARC600.c | Loading commit data... | |
| mARC601.c | Loading commit data... | |
| mARC700.c | Loading commit data... | |
| mcpu-arc600.c | Loading commit data... | |
| mcpu-arc601.c | Loading commit data... | |
| mcpu-arc700.c | Loading commit data... | |
| mdpfp.c | Loading commit data... | |
| mlock.c | Loading commit data... | |
| mno-lock.c | Loading commit data... | |
| mno-swape.c | Loading commit data... | |
| movb-1.c | Loading commit data... | |
| movb-2.c | Loading commit data... | |
| movb-3.c | Loading commit data... | |
| movb-4.c | Loading commit data... | |
| movb-5.c | Loading commit data... | |
| movb_cl-1.c | Loading commit data... | |
| movb_cl-2.c | Loading commit data... | |
| movbi_cl-1.c | Loading commit data... | |
| movh_cl-1.c | Loading commit data... | |
| movl-1.c | Loading commit data... | |
| mspfp.c | Loading commit data... | |
| mswape.c | Loading commit data... | |
| mtune-ARC600.c | Loading commit data... | |
| mtune-ARC601.c | Loading commit data... | |
| mtune-ARC700-xmac | Loading commit data... | |
| mtune-ARC700.c | Loading commit data... | |
| mtune-ARC725D.c | Loading commit data... | |
| mtune-ARC750D.c | Loading commit data... | |
| mul64.c | Loading commit data... | |
| mulsi3_highpart-1.c | Loading commit data... | |
| mulsi3_highpart-2.c | Loading commit data... | |
| mxy.c | Loading commit data... | |
| naked-1.c | Loading commit data... | |
| naked-2.c | Loading commit data... | |
| no-dpfp-lrsr.c | Loading commit data... | |
| nps400-1.c | Loading commit data... | |
| nps400-cpu-flag.c | Loading commit data... | |
| nv-cache.c | Loading commit data... | |
| pic-1.c | Loading commit data... | |
| pr9000674901.c | Loading commit data... | |
| pr9001090948.c | Loading commit data... | |
| pr9001184797.c | Loading commit data... | |
| pr9001191897.c | Loading commit data... | |
| pr9001195952.c | Loading commit data... | |
| sdata-1.c | Loading commit data... | |
| sdata-2.c | Loading commit data... | |
| sdata-3.c | Loading commit data... | |
| sdata-4.c | Loading commit data... | |
| sdata-5.c | Loading commit data... | |
| sub_n-combine.c | Loading commit data... | |
| tdelay_slots.cpp | Loading commit data... | |
| tmac-1.c | Loading commit data... | |
| tmac-2.c | Loading commit data... | |
| tmac.h | Loading commit data... | |
| trsub.c | Loading commit data... | |
| umulsihi3_z.c | Loading commit data... | |
| v-cache.c | Loading commit data... | |
| va_args-1.c | Loading commit data... | |
| va_args-2.c | Loading commit data... | |
| va_args-3.c | Loading commit data... |