Revert commit 149912 (lattner) and add a testcase that shows the problem (which

is that patterns no longer match for vectors of booleans, because you only get
ConstantDataVector when the vector element type is i8, i16, etc, not when it is
i1).  Original commit message:
Remove some dead code and tidy things up now that vectors use ConstantDataVector
instead of always using ConstantVector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150246 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands
2012-02-10 14:26:42 +00:00
parent c667ba69ac
commit edfb931edb
2 changed files with 31 additions and 1 deletions

View File

@@ -406,3 +406,12 @@ define i1 @mul3(i32 %X, i32 %Y) {
ret i1 %C
; CHECK: ret i1 true
}
define <2 x i1> @vectorselect1(<2 x i1> %cond) {
; CHECK: @vectorselect1
%invert = xor <2 x i1> %cond, <i1 1, i1 1>
%s = select <2 x i1> %invert, <2 x i32> <i32 0, i32 0>, <2 x i32> <i32 1, i32 1>
%c = icmp ne <2 x i32> %s, <i32 0, i32 0>
ret <2 x i1> %c
; CHECK: ret <2 x i1> %cond
}