From 9876ed07f633af7702d4f06de8666a0a48c20fb6 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Thu, 15 Dec 2016 12:12:45 +0000 Subject: [CostModel] Fix long standing bug with reverse shuffle mask detection Incorrect 'undef' mask index matching meant that broadcast shuffles could be detected as reverse shuffles llvm-svn: 289811 --- llvm/lib/Analysis/CostModel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/Analysis/CostModel.cpp') diff --git a/llvm/lib/Analysis/CostModel.cpp b/llvm/lib/Analysis/CostModel.cpp index 5dd54cd4d19..70b3560808c 100644 --- a/llvm/lib/Analysis/CostModel.cpp +++ b/llvm/lib/Analysis/CostModel.cpp @@ -92,7 +92,7 @@ CostModelAnalysis::runOnFunction(Function &F) { static bool isReverseVectorMask(SmallVectorImpl &Mask) { for (unsigned i = 0, MaskSize = Mask.size(); i < MaskSize; ++i) - if (Mask[i] > 0 && Mask[i] != (int)(MaskSize - 1 - i)) + if (Mask[i] >= 0 && Mask[i] != (int)(MaskSize - 1 - i)) return false; return true; } -- cgit v1.2.3