Lines Matching defs:Status

29 struct Status {
35 Status() = default;
37 Status(unsigned NewMask, unsigned NewMode) : Mask(NewMask), Mode(NewMode) {
43 Status merge(const Status &S) const {
44 return Status((Mask | S.Mask), ((Mode & ~S.Mask) | (S.Mode & S.Mask)));
49 Status mergeUnknown(unsigned newMask) {
50 return Status(Mask & ~newMask, Mode & ~newMask);
53 // intersect two Status values to produce a mode and mask that is a subset
55 Status intersect(const Status &S) const {
58 return Status(NewMask, NewMode);
62 Status delta(const Status &S) const {
63 return Status((S.Mask & (Mode ^ S.Mode)) | (~Mask & S.Mask), S.Mode);
66 bool operator==(const Status &S) const {
70 bool operator!=(const Status &S) const { return !(*this == S); }
72 bool isCompatible(Status &S) {
76 bool isCombinable(Status &S) { return !(Mask & S.Mask) || isCompatible(S); }
81 // The Status that represents the mode register settings required by the
83 Status Require;
85 // The Status that represents the net changes to the Mode register made by
87 Status Change;
89 // The Status that represents the mode register settings on exit from this
91 Status Exit;
93 // The Status that represents the intersection of exit Mode register settings
95 Status Pred;
123 Status DefaultStatus =
124 Status(FP_ROUND_MODE_DP(0x3), FP_ROUND_MODE_DP(DefaultMode));
144 Status getInstructionMode(MachineInstr &MI, const SIInstrInfo *TII);
147 const SIInstrInfo *TII, Status InstrMode);
161 // Instructions which don't use the Mode register return a null Status.
164 Status SIModeRegister::getInstructionMode(MachineInstr &MI,
175 return Status(FP_ROUND_MODE_DP(3),
193 return Status(FP_ROUND_MODE_DP(3), FP_ROUND_MODE_DP(Mode));
199 return Status(FP_ROUND_MODE_DP(3), FP_ROUND_MODE_DP(Mode));
205 return Status();
214 const SIInstrInfo *TII, Status InstrMode) {
258 Status IPChange;
260 Status InstrMode = getInstructionMode(MI, TII);
288 Status Setreg = Status(Mask, Mode);
393 Status TmpStatus =
414 Status Delta =