Home | History | Annotate | Download | only in X86

Lines Matching refs:Zeroable

5086 /// (not just zeroable) from their inputs.
5367 // Find all zeroable elements.
5368 std::bitset<4> Zeroable;
5371 Zeroable[i] = (Elt.isUndef() || X86::isZeroNode(Elt));
5373 assert(Zeroable.size() - Zeroable.count() > 1 &&
5377 // zeroable or extract_vector_elt with constant index.
5381 if (Zeroable[i])
5406 if (Zeroable[EltIdx]) {
5438 if (Zeroable[i])
5459 unsigned ZMask = Zeroable.to_ulong();
7226 /// \brief Compute whether each element of a shuffle is zeroable.
7228 /// A "zeroable" vector shuffle element is one which can be lowered to zero.
7236 SmallBitVector Zeroable(Mask.size(), false);
7251 Zeroable[i] = true;
7269 Zeroable[i] = true;
7274 Zeroable[i] = (Val == 0);
7279 Zeroable[i] = (Val == 0);
7293 Zeroable[i] = AllZeroable;
7298 return Zeroable;
7317 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
7329 if (Zeroable[i / NumEltBytes]) {
7390 /// one of the inputs being zeroable.
7405 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
7408 if (Zeroable[i])
7420 return SDValue(); // No non-zeroable elements!
7473 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
7490 if (Zeroable[i]) {
7830 /// right with zeroable elements 'shifted in'. It handles both the strictly
7852 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
7860 if (!Zeroable[i + j + (Left ? 0 : (Scale - Shift))])
7904 // and that the shifted in elements are all zeroable.
7922 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
7923 assert(!Zeroable.all() && "Fully zeroable shuffle mask");
7937 // lower half that isn't zeroable.
7940 if (!Zeroable[Len - 1])
7942 assert(Len > 0 && "Zeroable shuffle mask");
8224 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
8246 // Each of the extended elements need to be zeroable.
8247 if (!Zeroable[i])
8319 if (!Zeroable[i])
8381 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
8390 if (i != V2Index && !Zeroable[i]) {
8427 assert(VT == ExtVT && "Cannot change extended type when non-zeroable!");
8698 // elements are zeroable.
8701 const SmallBitVector &Zeroable,
8713 // Synthesize a zero mask from the zeroable elements (includes undefs).
8714 if (Zeroable[i]) {
8725 // We can only insert a single non-zeroable element.
8738 // Don't bother if we have no (non-zeroable) element for insertion.
8771 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
8775 if (!matchVectorShuffleAsInsertPS(V1, V2, InsertPSMask, Zeroable, Mask, DAG))
9854 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
9872 if (Zeroable[i / Scale])
12155 SmallBitVector Zeroable = computeZeroableShuffleElements(Mask, V1, V2);
12156 if (Zeroable.all())
25197 SmallBitVector Zeroable(4, false);
25200 Zeroable[i] = true;
25204 if (Zeroable.any() && matchVectorShuffleAsInsertPS(V1, V2, InsertPSMask,
25205 Zeroable, Mask, DAG)) {
25792 // be zeroable (and update the zero mask) or selects the element from