diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-02-11 18:06:24 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-02-11 18:06:24 +0000 |
commit | 4ef9672f0f477b996cf8bda4b1575691a793db6c (patch) | |
tree | 3cca0c9b90e5d53f7b3787d932e4965ba32446ad /llvm/lib/Target/X86/X86ISelLowering.cpp | |
parent | 63499b61c9167c9a89c6858c88fe70783db9a26a (diff) | |
download | bcm5719-llvm-4ef9672f0f477b996cf8bda4b1575691a793db6c.tar.gz bcm5719-llvm-4ef9672f0f477b996cf8bda4b1575691a793db6c.zip |
[X86][SSE] Add early-out when trying to match blend shuffle. NFCI.
llvm-svn: 294864
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 122b2db0398..f43567573eb 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -26684,10 +26684,11 @@ static bool matchBinaryPermuteVectorShuffle(MVT MaskVT, ArrayRef<int> Mask, int M = Mask[i]; if (M == SM_SentinelUndef) continue; - else if (M == SM_SentinelZero) - MatchBlend = false; - else if ((M != i) && (M != (i + (int)NumMaskElts))) + if ((M == SM_SentinelZero) || + ((M != i) && (M != (i + (int)NumMaskElts)))) { MatchBlend = false; + break; + } } if (MatchBlend) { |