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 | |
| 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')
| -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 | 

