Lines Matching refs:Mask
30 // Mask is a bitmask where a '1' indicates the corresponding Mode bit has a
32 unsigned Mask = 0;
37 Status(unsigned NewMask, unsigned NewMode) : Mask(NewMask), Mode(NewMode) {
38 Mode &= Mask;
44 return Status((Mask | S.Mask), ((Mode & ~S.Mask) | (S.Mode & S.Mask)));
50 return Status(Mask & ~newMask, Mode & ~newMask);
56 unsigned NewMask = (Mask & S.Mask) & (Mode ^ ~S.Mode);
63 return Status((S.Mask & (Mode ^ S.Mode)) | (~Mask & S.Mask), S.Mode);
67 return (Mask == S.Mask) && (Mode == S.Mode);
73 return ((Mask & S.Mask) == S.Mask) && ((Mode & S.Mask) == S.Mode);
76 bool isCombinable(Status &S) { return !(Mask & S.Mask) || isCompatible(S); }
224 while (InstrMode.Mask) {
225 unsigned Offset = llvm::countr_zero<unsigned>(InstrMode.Mask);
226 unsigned Width = llvm::countr_one<unsigned>(InstrMode.Mask >> Offset);
234 InstrMode.Mask &= ~(((1 << Width) - 1) << Offset);
283 unsigned Mask = maskTrailingOnes<unsigned>(Width) << Offset;
296 unsigned Mode = (Val << Offset) & Mask;
297 Status Setreg = Status(Mask, Mode);
303 NewInfo->Change = NewInfo->Change.mergeUnknown(Mask);
367 // Mask bits (which represent the Mode bits with a known value) can only be
369 // the intersection process may remove Mask bits.
372 // use of that value as the Mask will be all zero, and we will revisit this