[LLVMbugs] [Bug 23155] New: llvm 16 bit integer code causes lots of partial register stalls

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Apr 7 16:48:21 PDT 2015


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

            Bug ID: 23155
           Summary: llvm 16 bit integer code causes lots of partial
                    register stalls
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: kevin.b.smith at intel.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

When generating code for one of the eembc/telecom kernels llvm generates
a lot of 16 bit operations, specifically loads that cause partial register
usage.  Due to the false dependency on the upper portion of
the register, these operations are much slower than if they were expanded to be
32 bit operations.

This specifically impacts the code generated for EEMBC/telecom/viterb00.c
routine ACS.  Eliminating the partial register stalls increases performance
by about 27% for the data_2 input set.  For other input sets the performance
improvement is less, but it is significant for all of those inputs.

-- 
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/20150407/692bbf84/attachment.html>


More information about the llvm-bugs mailing list