Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Environment:

      Only applicable for x86 targets. Vendors will need to enable first unrolling queries and possible augment this work for non x86 targets.

    • Subcomponent:
    • Resolved In Build:
      b75
    • CPU:
      x86
    • OS:
      generic

      Backports

        Description

        With this change we leverage superword unrolling queries and superword to stage re-entrance to ideal loop optimization. We do this when superword succeeds on vectorizing a loop which was unroll query mapped. When we re-enter ideal loop optimization, we have already done all major optimizations such as peeling, splitting, rce and superword on the vector map candidate loop. Thus we only unroll the loop. We utilize the standard loop unrolling environment to accomplish this with default setting and any applicable user settings. In this way we leverage unroll factors from the baseline loop which are much larger to obtain optimum throughput on x86 architectures. The uplift range on SpecJvm2008 is seen on scimark.lu.{small|large} with uplift noted at 3% and 8% respectively. We see as much as 1.5x uplift on vector centric micros like reductions on default optimizations.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mcberg Michael Berg
                  Reporter:
                  mcberg Michael Berg
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 1 week
                    1w
                    Remaining:
                    Remaining Estimate - 1 day
                    1d
                    Logged:
                    Time Spent - Not Specified Time Not Required
                    Not Specified