[LLVMbugs] [Bug 4039] New: LegalizeDAG does not allow custom lowering of EXTRACT_SUBVECTOR
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Wed Apr 22 17:36:41 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4039
Summary: LegalizeDAG does not allow custom lowering of
EXTRACT_SUBVECTOR
Product: tools
Version: 2.5
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: normal
Priority: P2
Component: llc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: micah.villmow at amd.com
CC: llvmbugs at cs.uiuc.edu
The original code:
case ISD::EXTRACT_SUBVECTOR:
Tmp1 = Node->getOperand(0);
Tmp2 = LegalizeOp(Node->getOperand(1));
Result = DAG.UpdateNodeOperands(Result, Tmp1, Tmp2);
Result = ExpandEXTRACT_SUBVECTOR(Result);
break;
Code that allows Custom Lowering:
LegalizeDAG.cpp:1792
case ISD::EXTRACT_SUBVECTOR:
Tmp1 = LegalizeOp(Node->getOperand(0));
Tmp2 = LegalizeOp(Node->getOperand(1));
Result = DAG.UpdateNodeOperands(Result, Tmp1, Tmp2);
// Allow targets to custom lower the SHUFFLEs they support.
switch
(TLI.getOperationAction(ISD::EXTRACT_SUBVECTOR,Result.getValueType())) {
default: assert(0 && "Unknown operation action!");
case TargetLowering::Custom:
Tmp3 = TLI.LowerOperation(Result, DAG);
if (Tmp3.getNode()) {
Result = Tmp3;
break;
}
case TargetLowering::Expand: {
Result = LegalizeOp(ExpandEXTRACT_SUBVECTOR(Result));
}
break;
};
break;
--
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