ping^2
On Fri, Jul 21, 2017 at 3:09 PM, Jim Wilson <jim.wil...@linaro.org> wrote: > Ping. > > https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00779.html > > On Thu, Jul 13, 2017 at 3:00 PM, Jim Wilson <jim.wil...@linaro.org> wrote: >> The AArch64 port uses SCHED_GROUP to mark instructions that get fused >> at issue time, to ensure that they will be issued together. However, >> in the scheduler, use of a SCHED_GROUP forces all other instructions >> to issue in the next cycle. This is wrong for AArch64 ports using >> insn fusing which can issue multiple insns per cycle, as aarch64 >> SCHED_GROUP insns can all issue in the same cycle, and other insns can >> issue in the same cycle also. >> >> I put a testcase and some info in bug 81434. >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81434 >> >> The attached patch fixes the problem. The behavior in pass == 0 is >> same as now. All non sched group insns are ignored, and all sched >> group insns are checked to see if they need to be queued for a latter >> cycle. The difference is in the second pass where non sched group >> insns are queued for a latter cycle only if there is a sched group >> insn that got queued. Since sched group insns always sort to the top >> of the list of insns to schedule, all sched group insns still get >> scheduled together as before. >> >> This has been tested with an Aarch64 bootstrap and make check. >> >> OK? >> >> Jim