diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-02-16 14:57:25 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-02-16 14:57:25 +0000 |
| commit | 4e2f757dc100a2bf75b8dc9d6302ebd453b3cd2c (patch) | |
| tree | ff6b7eb3ef360a1bc57e49d9cb589a9e4ab4fc52 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
| parent | 6cf41b028d5deaee192d8e9195af2b9a80dea3ed (diff) | |
| download | bcm5719-llvm-4e2f757dc100a2bf75b8dc9d6302ebd453b3cd2c.tar.gz bcm5719-llvm-4e2f757dc100a2bf75b8dc9d6302ebd453b3cd2c.zip | |
[X86][SSE] Allow float domain crossing if we are merging 2 or more shuffles and the root started as a float domain shuffle
llvm-svn: 325349
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 6df80725002..d90b1397074 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -28747,6 +28747,7 @@ static SDValue combineX86ShuffleChain(ArrayRef<SDValue> Inputs, SDValue Root, unsigned NumRootElts = RootVT.getVectorNumElements(); unsigned BaseMaskEltSizeInBits = RootSizeInBits / NumBaseMaskElts; bool FloatDomain = VT1.isFloatingPoint() || VT2.isFloatingPoint() || + (RootVT.isFloatingPoint() && Depth >= 2) || (RootVT.is256BitVector() && !Subtarget.hasAVX2()); // Don't combine if we are a AVX512/EVEX target and the mask element size |

