private void RewriteShd(Func <Expression, Expression, Expression> fnLeft, Func <Expression, Expression, Expression> fnRight) { rtlc = RtlClass.Linear; var sh = SrcOp(instr.op1); var dst = DstOp(instr.op2, sh, (d, s) => m.Conditional(d.DataType, m.Ge0(s), fnLeft(d, s), fnRight(d, s))); }
private void RewriteShd(Func <Expression, Expression, Expression> fnLeft, Func <Expression, Expression, Expression> fnRight) { var sh = SrcOp(instr.Operands[0]); var dst = DstOp(instr.Operands[1], sh, (d, s) => m.Conditional(d.DataType, m.Ge0(s), fnLeft(d, s), fnRight(d, s))); }