llvm-6502/lib/CodeGen/SelectionDAG
Matt Arsenault c6c08508ca Don't use getSetCCResultType for creating a vselect
The vselect mask isn't a setcc.

This breaks in the case when the result of getSetCCResultType
is larger than the vector operands

e.g. %tmp = select i1 %cmp <2 x i8> %a, <2 x i8> %b
when getSetCCResultType returns <2 x i32>, the assertion
that the (MaskTy.getSizeInBits() == Op1.getValueType().getSizeInBits())
is hit.

No test since I don't think I can hit this with any of the current
targets. The R600/SI implementation would break, since it returns a
vector of i1 for this, but it doesn't reach ExpandSELECT for other
reasons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190376 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-10 00:41:56 +00:00
..
CMakeLists.txt
DAGCombiner.cpp Use TargetSubtargetInfo::useAA() in DAGCombine 2013-08-29 03:29:55 +00:00
FastISel.cpp
FunctionLoweringInfo.cpp
InstrEmitter.cpp
InstrEmitter.h
LegalizeDAG.cpp SelectionDAG: Remove unnecessary uses of TargetLowering::getPointerTy() 2013-08-26 15:06:10 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp SelectionDAG: Remove unnecessary uses of TargetLowering::getPointerTy() 2013-08-26 15:06:10 +00:00
LegalizeTypes.cpp
LegalizeTypes.h Improve the widening of integral binary vector operations 2013-08-19 20:01:35 +00:00
LegalizeTypesGeneric.cpp Remove an over-zealous assertion. A pointer type could be illegal if the target is prepared to custom-legalize pointer operands. This assertion was evaluated before the target would have a chance to do so, making it impossible. 2013-08-27 00:28:23 +00:00
LegalizeVectorOps.cpp Don't use getSetCCResultType for creating a vselect 2013-09-10 00:41:56 +00:00
LegalizeVectorTypes.cpp SelectionDAG: Remove unnecessary uses of TargetLowering::getPointerTy() 2013-08-26 15:06:10 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp
ScheduleDAGSDNodes.cpp Add a function object to compare the first or second component of a std::pair. 2013-08-24 12:54:27 +00:00
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h
SelectionDAG.cpp white spaces and long lines 2013-09-09 22:02:08 +00:00
SelectionDAGBuilder.cpp Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
SelectionDAGBuilder.h Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
SelectionDAGDumper.cpp
SelectionDAGISel.cpp [stackprotector] When finding the split point to splice off the end of a parentmbb into a successmbb, include any DBG_VALUE MI. 2013-08-22 05:40:50 +00:00
SelectionDAGPrinter.cpp
TargetLowering.cpp SelectionDAG: create correct BooleanContent constants 2013-09-06 12:38:12 +00:00
TargetSelectionDAGInfo.cpp