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: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to