summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-11-27 18:15:14 +0000
committerCraig Topper <craig.topper@intel.com>2017-11-27 18:15:14 +0000
commita4120fc42c94ac22650286ce42f25b9f6f359285 (patch)
tree9279eb17757c8c6505017dc0fc1c3fa98cb32e33 /llvm/lib
parent4ac95c9eba8cdb45a179983db1237ff922700bc9 (diff)
downloadbcm5719-llvm-a4120fc42c94ac22650286ce42f25b9f6f359285.tar.gz
bcm5719-llvm-a4120fc42c94ac22650286ce42f25b9f6f359285.zip
[X86] Teach combineX86ShuffleChain that AllowIntDomain requires at least SSE2.
I don't have a good test case for this at the moment. I was playing around with a change in legalizing and triggered this code to produce a PSHUFD with sse1 only. llvm-svn: 319066
Diffstat (limited to 'llvm/lib')
-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 7dd3e638055..36e83881270 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -28343,7 +28343,7 @@ static SDValue combineX86ShuffleChain(ArrayRef<SDValue> Inputs, SDValue Root,
// Which shuffle domains are permitted?
// Permit domain crossing at higher combine depths.
bool AllowFloatDomain = FloatDomain || (Depth > 3);
- bool AllowIntDomain = (!FloatDomain || (Depth > 3)) &&
+ bool AllowIntDomain = (!FloatDomain || (Depth > 3)) && Subtarget.hasSSE2() &&
(!MaskVT.is256BitVector() || Subtarget.hasAVX2());
// Determine zeroable mask elements.
OpenPOWER on IntegriCloud