зеркало из https://github.com/github/ruby.git
YJIT: x64: Split mem-to-mem Insn::Store like Insn::Mov
The ARM backend allows for this so let's make x64 consistent.
This commit is contained in:
Родитель
c23e2e19b7
Коммит
ff55238913
|
@ -635,7 +635,7 @@ fn write_rm_multi(cb: &mut CodeBlock, op_mem_reg8: u8, op_mem_reg_pref: u8, op_r
|
|||
panic!("immediate value too large (num_bits={}, num={uimm:?})", num_bits);
|
||||
}
|
||||
},
|
||||
_ => unreachable!()
|
||||
_ => panic!("unknown encoding combo: {opnd0:?} {opnd1:?}")
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@ impl Assembler
|
|||
*out = asm.next_opnd_out(Opnd::match_num_bits(&[*truthy, *falsy]));
|
||||
asm.push_insn(insn);
|
||||
},
|
||||
Insn::Mov { dest, src } => {
|
||||
Insn::Mov { dest, src } | Insn::Store { dest, src } => {
|
||||
match (&dest, &src) {
|
||||
(Opnd::Mem(_), Opnd::Mem(_)) => {
|
||||
// We load opnd1 because for mov, opnd0 is the output
|
||||
|
|
Загрузка…
Ссылка в новой задаче