We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
MovsRM
1 parent 502b811 commit 82bd336Copy full SHA for 82bd336
crates/codegen/src/target/x64.rs
@@ -264,6 +264,7 @@ pub enum X64Instr {
264
AddSp(i32),
265
MovRM(FullOperandSize, AddrMode),
266
MovMR(FullOperandSize, AddrMode),
267
+ MovsRM(SseFpuPrecision, AddrMode),
268
MovsMR(SseFpuPrecision, AddrMode),
269
Ret,
270
FuncAddrRel(FunctionRef),
@@ -306,6 +307,7 @@ impl X64Instr {
306
307
X64Instr::AddSp(..) => false,
308
X64Instr::MovRM(..) => false,
309
X64Instr::MovMR(..) => false,
310
+ X64Instr::MovsRM(..) => false,
311
X64Instr::MovsMR(..) => false,
312
X64Instr::Ret => false,
313
X64Instr::FuncAddrRel(..) => false,
@@ -348,6 +350,7 @@ impl X64Instr {
348
350
X64Instr::AddSp(..) => true,
349
351
352
353
354
355
356
crates/codegen/src/target/x64/emit.rs
@@ -334,6 +334,12 @@ impl MachineEmit for X64Machine {
334
RegMem::Mem(state.lower_addr_mode(addr_mode, &uses[1..])),
335
uses[0].as_reg().unwrap(),
336
),
337
+ X64Instr::MovsRM(prec, addr_mode) => emit_movs_r_rm(
338
+ buffer,
339
+ *prec,
340
+ defs[0].as_reg().unwrap(),
341
+ RegMem::Mem(state.lower_addr_mode(addr_mode, uses)),
342
+ ),
343
X64Instr::MovsMR(prec, addr_mode) => emit_movs_rm_r(
344
buffer,
345
*prec,
0 commit comments