[llvm] r343891 - [X86][AVX] Limit getFauxShuffleMask INSERT_SUBVECTOR support to 2 inputs

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 5 14:44:19 PDT 2018


Author: rksimon
Date: Fri Oct  5 14:44:19 2018
New Revision: 343891

URL: http://llvm.org/viewvc/llvm-project?rev=343891&view=rev
Log:
[X86][AVX] Limit getFauxShuffleMask INSERT_SUBVECTOR support to 2 inputs

rL343853 didn't limit the number of subinputs, but we don't currently support faux shuffles with more than 2 total inputs, so put a limiter in place until this is fixed.

Found by Artem Dergachev.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=343891&r1=343890&r2=343891&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Fri Oct  5 14:44:19 2018
@@ -6414,7 +6414,8 @@ static bool getFauxShuffleMask(SDValue N
         Mask[i + InsertIdx] = (NumElts * (1 + InputIdx)) + ExtractIdx + M;
       }
     }
-    return true;
+    // TODO - Add support for more than 1 subinput.
+    return Ops.size() <= 2;
   }
   case ISD::SCALAR_TO_VECTOR: {
     // Match against a scalar_to_vector of an extract from a vector,




More information about the llvm-commits mailing list