Index: llvm/trunk/lib/Analysis/ValueTracking.cpp =================================================================== --- llvm/trunk/lib/Analysis/ValueTracking.cpp +++ llvm/trunk/lib/Analysis/ValueTracking.cpp @@ -3253,12 +3253,7 @@ return Val; } - if (isa(C)) { - Constant *Splat = cast(C)->getSplatValue(); - return Splat ? isBytewiseValue(Splat, DL) : nullptr; - } - - if (isa(C) || isa(C)) { + if (isa(C)) { Value *Val = UndefInt8; for (unsigned I = 0, E = C->getNumOperands(); I != E; ++I) if (!(Val = Merge(Val, isBytewiseValue(C->getOperand(I), DL)))) Index: llvm/trunk/unittests/Analysis/ValueTrackingTest.cpp =================================================================== --- llvm/trunk/unittests/Analysis/ValueTrackingTest.cpp +++ llvm/trunk/unittests/Analysis/ValueTrackingTest.cpp @@ -878,7 +878,7 @@ "<4 x i8> ", }, { - "", + "i8 5", "<2 x i8> < i8 5, i8 undef >", }, {