[llvm-bugs] [Bug 26183] New: Combining unary integer shuffles to PSHUFB

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Jan 17 09:53:09 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26183

            Bug ID: 26183
           Summary: Combining unary integer shuffles to PSHUFB
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

As discussed on D14901.

Currently the threshold for combining separate unary integer shuffles (PSHUFD,
PSHUFLW, PSHUFHW, etc.) into a single PSHUFB call is 3 instructions.

On many targets (even older ones like Wolfdale and Nehalem), the throughput is
such that it could be beneficial to combine even for just 2 instructions
(although the loading of the shuffle mask is an additional consideration).

However other targets (Atom and many AMD targets) would be better with the
current or a higher threshold.

Are we happy with the current threshold of 3 instructions?

Would it make sense to either use a feature flag to indicate fast/slow PSHUFB
performance or attempt to make use of the scheduler model to determine when to
combine to PSHUFB?

Should we be looking to use the scheduler model for more combine decisions?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160117/e20715f2/attachment-0001.html>


More information about the llvm-bugs mailing list