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

           Summary: Vector INREG_SEXTEND is broken on ARM
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


In my work on vector-select I found a bug which is exposed when  calling
PromoteIntOp_SIGN_EXTEND with vector types. In this code an SIGN_EXTEND_INREG
ISD node is created. Later, when we attempt to legalize the SIGN_EXTEND_INREG
ISD node, we generate vector SHL and SHR code (which is okay). The problem is
that the shift amount may be an illegal ARM type. For example, if we want to
perform an SIGN_EXTEND_INREG of v8i8 types (legal on arm), we would create a
vector (BUILD_VECTOR of i8 scalars). The i8 scalars are illegal. 

I am not sure what the right fix is.

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

Reply via email to