summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2015-04-28 14:46:35 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2015-04-28 14:46:35 +0000
commit1f7b3644d3bf28af9f0d19ca1a63cc48c026089c (patch)
tree530d4790b99db08f695f5065f86ac7b07fef6d24 /llvm/lib/Target
parent0846f54b0e41f8c5f6245b6d56410ff379d117b1 (diff)
downloadbcm5719-llvm-1f7b3644d3bf28af9f0d19ca1a63cc48c026089c.tar.gz
bcm5719-llvm-1f7b3644d3bf28af9f0d19ca1a63cc48c026089c.zip
Fixed crash of variable shift inst on AVX2
https://llvm.org/bugs/show_bug.cgi?id=22955 llvm-svn: 235993
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index cf3165e7513..1797ce4a11f 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -16495,9 +16495,7 @@ static SDValue LowerScalarVariableShift(SDValue Op, SelectionDAG &DAG,
}
// Special case in 32-bit mode, where i64 is expanded into high and low parts.
- if (!Subtarget->is64Bit() &&
- (VT == MVT::v2i64 || (Subtarget->hasInt256() && VT == MVT::v4i64) ||
- (Subtarget->hasAVX512() && VT == MVT::v8i64)) &&
+ if (!Subtarget->is64Bit() && VT == MVT::v2i64 &&
Amt.getOpcode() == ISD::BITCAST &&
Amt.getOperand(0).getOpcode() == ISD::BUILD_VECTOR) {
Amt = Amt.getOperand(0);
OpenPOWER on IntegriCloud