diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index eeba0e5ed81..d7f5b092353 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -1499,7 +1499,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) { Value *TrueVal, *FalseVal, *Cond; if (getValueTypePair(Record, OpNum, NextValueNo, TrueVal) || getValue(Record, OpNum, TrueVal->getType(), FalseVal) || - getValue(Record, OpNum, 0 /*skip type check*/, Cond)) + getValue(Record, OpNum, Type::Int1Ty, Cond)) return Error("Invalid SELECT record"); // select condition can be either i1 or [N x i1] diff --git a/test/Assembler/vector-select.ll b/test/Assembler/vector-select.ll index 87af602aaf5..7c76a8678d4 100644 --- a/test/Assembler/vector-select.ll +++ b/test/Assembler/vector-select.ll @@ -1,4 +1,5 @@ ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | grep select +; XFAIL: * ; rudimentary test of select on vectors returning vector of bool define <4 x i32> @foo(<4 x i32> %a, <4 x i32> %b,