diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2013-09-10 00:41:56 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2013-09-10 00:41:56 +0000 |
| commit | d232222f347d6e8406522e540e76ab89d83e469d (patch) | |
| tree | 0d61226fc7d3d12dbde847d3c79b0a9696305263 /llvm/lib/Support/Program.cpp | |
| parent | f631f8c640dc54780a7105fc241af26606e99b41 (diff) | |
| download | llvm-d232222f347d6e8406522e540e76ab89d83e469d.zip llvm-d232222f347d6e8406522e540e76ab89d83e469d.tar.gz llvm-d232222f347d6e8406522e540e76ab89d83e469d.tar.bz2 | |
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.
llvm-svn: 190376
Diffstat (limited to 'llvm/lib/Support/Program.cpp')
0 files changed, 0 insertions, 0 deletions
