[LLVMbugs] [Bug 7504] New: sxtb and sxth not generated for cortex-m3

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jun 25 15:02:15 PDT 2010


           Summary: sxtb and sxth not generated for cortex-m3
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: bagel99 at gmail.com
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=5117)
 --> (http://llvm.org/bugs/attachment.cgi?id=5117)
test case

In ARMISelLowering.cpp around line 460, use of sign extension is predicated on
hasT2ExtractPack.  But all cortex-m processors, even cortex-m0, have the 16-bit
versions of SXTB and SXTH.  The following patch is suggested:

--- ARMISelLowering.cpp    (revision 106880)
+++ ARMISelLowering.cpp    (working copy)
@@ -458,7 +458,7 @@
   // needs to be expanded. Extract is available in ARM mode on v6 and up,
   // and on most Thumb2 implementations.
   if (!Subtarget->hasV6Ops()
-      || (Subtarget->isThumb2() && !Subtarget->hasT2ExtractPack())) {
+      || (!Subtarget->isThumb2())) {
     setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16, Expand);
     setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8,  Expand);

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