summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprScalar.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2013-08-01 04:51:48 +0000
committerCraig Topper <craig.topper@gmail.com>2013-08-01 04:51:48 +0000
commit0ed37bd525ca412113cf4bb025d302c9076b473e (patch)
tree4b5bc91d3c38c355acd3eb0bf6fa5a29a3f95d19 /clang/lib/CodeGen/CGExprScalar.cpp
parent23252a3672853ded2e1a3eaec159c4f7e1dbc4ca (diff)
downloadbcm5719-llvm-0ed37bd525ca412113cf4bb025d302c9076b473e.tar.gz
bcm5719-llvm-0ed37bd525ca412113cf4bb025d302c9076b473e.zip
Remove broken and unnecessary vec3 handling from VisitShuffleVectorExpr.
llvm-svn: 187558
Diffstat (limited to 'clang/lib/CodeGen/CGExprScalar.cpp')
-rw-r--r--clang/lib/CodeGen/CGExprScalar.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp
index d0b4ef4ef09..d3250ea6463 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<llvm::VectorType>(V1->getType());
SmallVector<llvm::Constant*, 32> 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));
}
OpenPOWER on IntegriCloud