[LLVMbugs] [Bug 7457] New: ARM Cortex-A9 optimization improvement (maybe)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jun 22 22:34:09 CDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7457

           Summary: ARM Cortex-A9 optimization improvement (maybe)
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: llc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: jrengdahl at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5093)
 --> (http://llvm.org/bugs/attachment.cgi?id=5093)
minimal C++ program that demonstrates the case

This is a minuscule improvement, but since I spent some effort looking at it,
here it is:

ARM Cortex-A9 Thumb2

        lsrs    r2, r0, #8
        lsrs    r3, r1, #8
        uxtb    r2, r2
        uxtb    r3, r3

might be better coded as:

        ubfx    r2, r0, #8, #8
        ubfx    r3, r1, #8, #8

The code space is the same, since lsrs and uxtb are 16 bit instructions,
whereas ubfx is 32 bit, but I think the ubfx pair will execute in one clock,
whereas the first sequence will take two clocks (assuming a dual-issue CPU).

(But in a universe that contains 10^80 electrons, it really might not matter
that much.)

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the LLVMbugs mailing list