summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2012-01-13 05:04:25 +0000
committerCraig Topper <craig.topper@gmail.com>2012-01-13 05:04:25 +0000
commit2aa07f832e0a6f3d7fb41e2e792d10bb7f568c3c (patch)
tree87d6b47dda9c1e343dda06c297d7866b3bdceea8
parent6f2288b67cafef22509117245cafbe10ae12f25c (diff)
downloadbcm5719-llvm-2aa07f832e0a6f3d7fb41e2e792d10bb7f568c3c.tar.gz
bcm5719-llvm-2aa07f832e0a6f3d7fb41e2e792d10bb7f568c3c.zip
Fix typo in PerformAddCombine that caused any vector type to be checked for horizontal add/sub if AVX2 is enabled. This caused an assert to fail for non 128/256-bit vectors when done before type legalizing. Fixes PR11749.
llvm-svn: 148096
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 6a5e6f5f240..a6f22fafeea 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -14575,7 +14575,7 @@ static SDValue PerformAddCombine(SDNode *N, SelectionDAG &DAG,
// Try to synthesize horizontal adds from adds of shuffles.
if (((Subtarget->hasSSSE3() && (VT == MVT::v8i16 || VT == MVT::v4i32)) ||
- (Subtarget->hasAVX2() && (VT == MVT::v16i16 || MVT::v8i32))) &&
+ (Subtarget->hasAVX2() && (VT == MVT::v16i16 || VT == MVT::v8i32))) &&
isHorizontalBinOp(Op0, Op1, true))
return DAG.getNode(X86ISD::HADD, N->getDebugLoc(), VT, Op0, Op1);
OpenPOWER on IntegriCloud