[llvm] [X86] Handle repeated blend mask in combineConcatVectorOps (PR #82155)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 18 00:08:38 PST 2024


================
@@ -55226,6 +55226,11 @@ static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
       if (NumOps == 2 && VT.is512BitVector() && Subtarget.useBWIRegs()) {
         uint64_t Mask0 = Ops[0].getConstantOperandVal(2);
         uint64_t Mask1 = Ops[1].getConstantOperandVal(2);
+        // MVT::v16i16 has repeated blend mask.
+        if (Op0.getSimpleValueType() == MVT::v16i16) {
----------------
phoebewang wrote:

Why `v16i16` is special? Or the key is the element type `i16`?

https://github.com/llvm/llvm-project/pull/82155


More information about the llvm-commits mailing list