| 1677 | } |
| 1678 | |
| 1679 | void OpDispatchBuilder::ANDNBMIOp(OpcodeArgs) { |
| 1680 | auto* Src1 = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, {.AllowUpperGarbage = true}); |
| 1681 | auto* Src2 = LoadSource(GPRClass, Op, Op->Src[1], Op->Flags, {.AllowUpperGarbage = true}); |
| 1682 | |
| 1683 | auto Dest = _Andn(OpSizeFromSrc(Op), Src2, Src1); |
| 1684 | |
| 1685 | StoreResult(GPRClass, Op, Dest, OpSize::iInvalid); |
| 1686 | CalculateFlags_Logical(OpSizeFromSrc(Op), Dest); |
| 1687 | } |
| 1688 | |
| 1689 | void OpDispatchBuilder::BEXTRBMIOp(OpcodeArgs) { |
| 1690 | // Essentially (Src1 >> Start) & ((1 << Length) - 1) |
nothing calls this directly
no outgoing calls
no test coverage detected