| 211 | } |
| 212 | |
| 213 | void Jit::arithSetup(DecodedOp* op, U32& needsToSetFlags, LazyFlagType flagType, RegPtr cf) { |
| 214 | const LazyFlags* flags = lazyFlags[flagType]; |
| 215 | if (flags) { |
| 216 | needsToSetFlags = op->needsToSetFlags(cpu); |
| 217 | } |
| 218 | if (needsToSetFlags) { |
| 219 | if ((flags && flags->usesOldCF(needsToSetFlags)) || (!(instructionInfo[op->inst].flagsSets & CF) && op->getNeededFlagsAfter(CF))) { |
| 220 | if (!cf) { |
| 221 | cf = getCF(); |
| 222 | } |
| 223 | storeLazyFlagsOldCF(cf); |
| 224 | } |
| 225 | storeLazyFlagType(flagType); |
| 226 | currentLazyFlags = flagType; |
| 227 | } |
| 228 | } |
| 229 | |
| 230 | void Jit::dynamic_MI(DecodedOp* op, JitWidth width, InstRegImm callback, LazyFlagType flagType, bool writeback, bool addCF, InstRegReg cfCallback, InstRegImmCF callbackWithCF) { |
| 231 | const LazyFlags* flags = lazyFlags[flagType]; |
nothing calls this directly
no test coverage detected