[LLVMbugs] [Bug 7324] New: thumb2 mode doesn't use uxtb/uxth where expected

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jun 8 16:26:14 PDT 2010


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

           Summary: thumb2 mode doesn't use uxtb/uxth where expected
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sharparrow1 at yahoo.com
                CC: llvmbugs at cs.uiuc.edu


Testcase:
define i32 @a(i32 %x, i32 %y) nounwind readnone {
entry:
  %and = and i32 %x, 255                          ; <i32> [#uses=1]
  %and2 = and i32 %y, 65535                       ; <i32> [#uses=1]
  %add = add nsw i32 %and2, %and                  ; <i32> [#uses=1]
  ret i32 %add
}

Compiled with "llc -march=thumb -mattr=+thumb2":
    and    r0, r0, #255
    bfc    r1, #16, #16
    adds    r0, r1, r0
    bx    lr

Compiled with "llc -march=thumb -mattr=+v6":
    uxtb    r0, r0
    uxth    r1, r1
    adds    r0, r1, r0
    bx    lr

I'm pretty sure that uxtb/uxth are shorter, so I'm not sure why they aren't
being used.

-- 
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 llvm-bugs mailing list