Do not vectorize loops with subtraction reductions

Since subtraction does not commute the loop vectorizer incorrectly vectorizes
reductions such as x = A[i] - x.

Disabling for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171537 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Paul Redmond
2013-01-04 22:10:16 +00:00
parent 8cab6edf4f
commit 5767d91956
3 changed files with 51 additions and 2 deletions

View File

@ -1986,7 +1986,6 @@ LoopVectorizationLegality::isReductionInstr(Instruction *I,
// possibly.
return true;
case Instruction::Add:
case Instruction::Sub:
return Kind == IntegerAdd;
case Instruction::Mul:
return Kind == IntegerMult;