Lines Matching full:pshufb
8098 /// Generate a PSHUFB if possible. Selects elements from \p V1 according to
8138 return DAG.getNode(X86ISD::PSHUFB, dl, ShufVT, V1,
8144 // 2. [ssse3] 1 x pshufb
8145 // 3. [ssse3] 2 x pshufb + 1 x por
8201 // single pshufb instruction is necessary. If there are more than 2 input
8278 // FIXME: Is this true if pshufb is available?
8384 /// FIXME: We only support generation of a single pshufb currently. We can
8386 /// well (e.g 2 x pshufb + 1 x por).
8402 // 1. [ssse3] 1 x pshufb
8403 // 2. [ssse3] 2 x pshufb + 1 x por
8415 // FIXME: Is this true if pshufb is available?
8423 // If SSSE3, use 1 pshufb instruction per vector with elements in the result.
8428 // undef mask values to 0x80 (zero out result) in the pshufb mask.
8439 V1 = DAG.getNode(X86ISD::PSHUFB, dl, MVT::v16i8, V1,
8443 // As PSHUFB will zero elements with negative indices, it's safe to ignore
8457 V2 = DAG.getNode(X86ISD::PSHUFB, dl, MVT::v16i8, V2,
11245 // On AVX2, v8i32 -> v8i16 becomed PSHUFB.
11263 In = DAG.getNode(X86ISD::PSHUFB, DL, MVT::v32i8, In, BV);
11283 // The PSHUFB mask:
13807 return DAG.getNode(X86ISD::PSHUFB, dl, Op.getValueType(),
16521 case X86ISD::PSHUFB: return "X86ISD::PSHUFB";
16832 // lower it into pshufb.