From 0ed37bd525ca412113cf4bb025d302c9076b473e Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 1 Aug 2013 04:51:48 +0000 Subject: [PATCH] Remove broken and unnecessary vec3 handling from VisitShuffleVectorExpr. llvm-svn: 187558 --- clang/lib/CodeGen/CGExprScalar.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index d0b4ef4ef09d..d3250ea64638 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/lib/CodeGen/CGExprScalar.cpp @@ -969,13 +969,9 @@ Value *ScalarExprEmitter::VisitShuffleVectorExpr(ShuffleVectorExpr *E) { Value* V1 = CGF.EmitScalarExpr(E->getExpr(0)); Value* V2 = CGF.EmitScalarExpr(E->getExpr(1)); - // Handle vec3 special since the index will be off by one for the RHS. - llvm::VectorType *VTy = cast(V1->getType()); SmallVector indices; - for (unsigned i = 2; i < E->getNumSubExprs(); i++) { + for (unsigned i = 2; i < E->getNumSubExprs(); ++i) { unsigned Idx = E->getShuffleMaskIdx(CGF.getContext(), i-2); - if (VTy->getNumElements() == 3 && Idx > 3) - Idx -= 1; indices.push_back(Builder.getInt32(Idx)); }