Remove assert in sse_round_fn and handle case where src2 is in memory

This commit is contained in:
sydhds
2023-01-10 11:37:45 +01:00
parent aaa23c63a6
commit ba10624fe1

View File

@ -909,11 +909,12 @@ macro_rules! sse_round_fn {
|emitter: &mut AssemblerX64, precision: Precision, src1: XMM, src2: XMMOrMemory, dst: XMM| {
match src2 {
XMMOrMemory::XMM(x) => {
assert_eq!(src1, x);
move_src_to_dst(emitter, precision, src1, dst);
move_src_to_dst(emitter, precision, x, dst);
dynasm!(emitter ; $ins Rx((dst as u8)), Rx((dst as u8)), $mode)
}
XMMOrMemory::Memory(..) => unreachable!(),
XMMOrMemory::Memory(base, disp) => {
dynasm!(emitter ; $ins Rx((dst as u8)), [Rq((base as u8)) + disp], $mode)
},
}
}
}