mod setup; use setup::*; #[test] fn mov() { let c = &mut TestCtx::new("mov"); for dst in regs() { for src in regs() { eq(c, format!("mov {dst}, {src}"), |c| c.mov(dst, src)); } } for dst in regs() { for src in mems() { eq(c, format!("mov {dst}, {src}"), |c| c.mov(dst, src)); } } for dst in regs() { for src in imms() { eq(c, format!("mov {dst}, {src}"), |c| c.mov(dst, src)); } } for dst in mems() { for src in regs() { eq(c, format!("mov {dst}, {src}"), |c| c.mov(dst, src)); } } for dst in mems() { for src in imms() { eq(c, format!("mov {dst}, {src}"), |c| c.mov(dst, src)); } } } #[test] fn add_sub() { let c = &mut TestCtx::new("add_sub"); // add for dst in regs() { for src in imms() { eq(c, format!("add {dst}, {src}"), |c| c.add(dst, src)) } } for dst in regs() { for src in regs() { eq(c, format!("add {dst}, {src}"), |c| c.add(dst, src)) } } for dst in mems() { for src in imms() { eq(c, format!("add {dst}, {src}"), |c| c.add(dst, src)) } } // sub for dst in regs() { for src in imms() { eq(c, format!("sub {dst}, {src}"), |c| c.sub(dst, src)) } } }